與正常情況不同,我擁有實際可行的代碼,但我想知道它是否是唯一的(或最佳方法)。EntityFramework:使用獨立實體更新單個字段
基本的想法是我有一個現有的應用程序,手工製作的數據層被移植到實體框架。作爲最小化代碼更改的折衷方案,我正在使用現有的方法,這些方法往往採取更分離的方法。例如,我有很多事情是這樣的:
UpdateNote(int noteId, string note)
我似乎有一個不需要這種類型的更新工作的方法再取出:
var context = new MyEntities();
context.Configuration.ValidateOnSaveEnabled = false;
var note = new Model.Note{ Id = noteId, Note = ""};
context.Notes.Attach(note);
note.Note = "Some Note";
context.SaveChanges();
這是一個有點醜陋的(儘管簡明扼要),所以我想知道是否有更好的方法來使用EF?這種方法的任何缺點,除了失去內置的驗證?
這是一種將在我的應用程序中使用的模式。
我有一個更好的擴展方法,我會在一點點。它是一種從網上抓取的AttachAsModified I變體,在這些情況下效果很好,無需知道道具名稱。 –
回來看看這個 - 你將失去你的DataAnnotations驗證(如果這就是你的意思),但是如果你已經定義了任何(例如在代碼中使用IsRequired()方法),你仍然會保留你的實體框架驗證 –