這篇文章主要為大家展示了“Entity Framework 7中的影子屬性怎么用”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Entity Framework 7中的影子屬性怎么用”這篇文章吧。
成都創(chuàng)新互聯(lián)公司服務(wù)項目包括云和網(wǎng)站建設(shè)、云和網(wǎng)站制作、云和網(wǎng)頁制作以及云和網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,云和網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到云和省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
影子屬性是類本身中并不存在,但Entity Framework卻認(rèn)為存在的字段。它們能夠參與查詢、創(chuàng)建/更新操作和數(shù)據(jù)庫遷移。微軟認(rèn)為影子屬性有兩個主要的應(yīng)用場景:
允許數(shù)據(jù)訪問層訪問那些不該由領(lǐng)域模型暴露到應(yīng)用其它部分的屬性
允許開發(fā)者高效地添加屬性到?jīng)]有源代碼的類中
影子屬性在OnModelCreating事件中被定義,該事件在DBContext中為可重載方法。這里有一個綁定DataTime屬性LastUpdated到Blog實體的例子。
protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity().Property("LastUpdated"); }
這個屬性的一個通用用例是在執(zhí)行保存操作時自動賦值給LastUpdated屬性。為此,你可以使用DBContext.ChangeTracker來獲取DBEntry類型的對象列表。你可以這樣寫:
foreach (var item in modifiedEntries) { Item.Property("LastModified").CurrentValue = DateTime.Now; }
一般可以通過重載DBContext類的SaveChanges()方法實現(xiàn)。通過這里的重載,你可以更新所有需要更新的數(shù)據(jù),而又不必在每一個更新數(shù)據(jù)的地方重復(fù)代碼。
當(dāng)ChangeTracker適合用于修改保存事件的時候,你會很想繞過DBEntry直接訪問影子屬性。通過EF.Property函數(shù)就可以做到,如下所示:
EF.Property(entity, "LastModified")
這個表達式放在一個查詢中能生成服務(wù)器端的WHERE和ORDER BY子句。
以上是“Entity Framework 7中的影子屬性怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
新聞名稱:EntityFramework7中的影子屬性怎么用
文章地址:http://muchs.cn/article32/gjscpc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、關(guān)鍵詞優(yōu)化、品牌網(wǎng)站設(shè)計、網(wǎng)站維護
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)