با سلام
پروژه من یک وب فرم است که با ویژوال استودیو 2022 و Entity Framework 6.4.4 طراحی کرده ام
برای پروفایل کاربری یک جدول را به روش Migration به پایگاه داده پیش فرض(DefaultConnection) اضافه کردم و با متد DbContext عملیات درج، به روز رسانی و فراخوانی اطلاعات را انجام می دهم هم برنامه درست کار می کند بجز ویرایش اطلاعات، که دستورات بدون هیچ اخطاری انجام می شود ولی اطلاعات در جدول بروز رسانی و ذخیره نمی شود.
اکثر روش هایی که در تایپیک ها بوده را امتحان کردم ولی نتیجه ای نگرفتم.
صفحات من به شکل زیر است:

صفحه ایجاد جدول:

public class UserContext : DbContext
{
public UserContext()
:base("DefaultConnection")
{
}
public DbSet<UserProfiles> userProfiles { get; set; }
}
public class UserProfiles
{
[Key]
public string UserId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Father { get; set; }
public string PersonId { get; set; }
public string PhonNumber { get; set; }
public string BirthDate { get; set; }
public string Address { get; set; }
public int StatusId { get; set; }
}


صفحه Migration:

public partial class UserProfiles : DbMigration
{
public override void Up()
{
CreateTable(
"dbo.UserProfiles",
c => new
{
userId = c.String(nullable: false, maxLength: 128),
FirstName = c.String(),
LastName = c.String(),
Father = c.String(),
PersonId = c.String(),
PhonNumber = c.String(),
BirthDate = c.String(),
Address = c.String(),
StatusId = c.Int(nullable: false),
})
.PrimaryKey(t => t.userId);

}

public override void Down()
{
DropTable("dbo.UserProfiles");
}
}


و کد دکمه ویرایش :

protected async void updateButton_Click(object sender, EventArgs e)
{
var currentId = User.Identity.GetUserId();

using (var _db = new UserContext())
{
try
{
var result = _db.userProfiles.Where(_c => _c.UserId == currentId).FirstOrDefault();

result.Father = father.Text;
result.PersonId = personId.Text;
result.BirthDate = birthDate.Text;
result.PhonNumber = mobilNumber.Text;
result.Address = Address.Text;
result.StatusId = Convert.ToInt32(statusId.Text);

await _db.SaveChangesAsync();


MessageLable.Text = "اطلاعات کاربری بروزرسانی گردید.";
}
catch (Exception exp)
{
throw new Exception("اخطار: خطای بروزرسانی اطلاعات -" + exp.Message.ToString(), exp);
MessageLable.Text = "بروزرسانی انجام نشد. لطفا خطاهای جاری را رفع نمایید.";
}
}

ProfileSetting.Visible = false;
EditMessage.Visible = true;
}