我很高興找到所謂的「存根方法」來保存更新上的數據庫查找(等等)。但是,當我嘗試它時,只填充了我的存根上的主鍵字段,沒有其他任何東西,一大堆驗證錯誤出現在SaveChanges()拋出的DbEntityValidationException中。大多數/所有這些人都是英格蘭人抱怨所要求的領域沒有被指定,但我認爲我也會因參照誠信問題而受到傷害。適用於EF CF的「存根方法」要求填充所有[必填]字段?
我曾假設(不正確?)存根方法是EF的一種方式1)知道基於主鍵更新什麼實體,2)我不需要重新加載所有其他字段,我沒有更新和3)只會更新我實際更新的那些字段。
我現在很肯定我誤解了。太糟糕了,存根方法是一個很酷的概念。
如果這都是真的,那麼看起來我必須在更新之前先檢索對象?
(http://blogs.msdn.com/b/alexj/archive/2009/06/19/tip-26-how-to-avoid-database-queries-using-stub-entities.aspx)
這就是我的想法。感謝您關於在EF中關閉驗證的信息。關閉驗證也會阻止外鍵問題(即不將鍵設置爲可接受的值)?也就是說,如果我只改變簡單的屬性,並且不填寫引用,我還好嗎? 您提到「其他改進」 - 請謹慎分享一些鏈接或文章嗎? :-) – Joe