MVC を使用して C# でユーザー プロファイルの編集ページを作成しています。この種のページと同様に、データベースから情報を取得してフォームに表示し、ユーザーがフィールドを好みに合わせて変更できるようにします。
検証後、データをデータベースに送信したいのは明らかですが、ここで何かが発生し、それを理解できませんでした。
プライベート フィールドを介して新しい値を割り当てた場合、データベースには何も送信されません。Property アクセサーを使用した場合、値は送信されます。
public partial class User {
public static bool Edit(User update) {
try {
using (var db = new DataClassesBabysitterDataContext()) {
User old = db.Users.Single(u => u.Id == update.Id);
// This works
// -------------------------------------
old.Description = update.Description;
// This does not
// -------------------------------------
old._Description = update._Description
db.SubmitChanges();
}
return true;
}
catch (Exception e) {
DBLogger.LogException(e);
return false;
}
}
}
正直なところ、なぜこれが違いを生むのかわかりませんか?