您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Entity Framework 7中的影子屬性怎么用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Entity Framework 7中的影子屬性怎么用”這篇文章吧。
影子屬性是類本身中并不存在,但Entity Framework卻認為存在的字段。它們能夠參與查詢、創建/更新操作和數據庫遷移。微軟認為影子屬性有兩個主要的應用場景:
允許數據訪問層訪問那些不該由領域模型暴露到應用其它部分的屬性
允許開發者高效地添加屬性到沒有源代碼的類中
影子屬性在OnModelCreating事件中被定義,該事件在DBContext中為可重載方法。這里有一個綁定DataTime屬性LastUpdated到Blog實體的例子。
protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity().Property("LastUpdated"); }
這個屬性的一個通用用例是在執行保存操作時自動賦值給LastUpdated屬性。為此,你可以使用DBContext.ChangeTracker來獲取DBEntry類型的對象列表。你可以這樣寫:
foreach (var item in modifiedEntries) { Item.Property("LastModified").CurrentValue = DateTime.Now; }
一般可以通過重載DBContext類的SaveChanges()方法實現。通過這里的重載,你可以更新所有需要更新的數據,而又不必在每一個更新數據的地方重復代碼。
當ChangeTracker適合用于修改保存事件的時候,你會很想繞過DBEntry直接訪問影子屬性。通過EF.Property函數就可以做到,如下所示:
EF.Property(entity, "LastModified")
這個表達式放在一個查詢中能生成服務器端的WHERE和ORDER BY子句。
以上是“Entity Framework 7中的影子屬性怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。