EF4中多表關聯查詢Include的寫法


大家好,好久沒有寫作了,最近遇到了個問題,最終是靠自己的嘗試寫出來的,希望可以幫到有需要的人。

在我們查詢時通常會遇到多級表關聯的情況,很多時候有人會想寫一個from LINQ語句來解決,那么冗長的代碼,還影響開發效率

接下來我就簡單描述下吧。

正常情況下大家會使用如下這種方式,Bugs表關聯BugsFound表。

using (VersionControlEntities entities = new VersionControlEntities())
{
return entities.Bugs.Include("BugsFound").Where(jc => jc.ID == bugid).FirstOrDefault();
}

如果我想在關聯BugsFound表下面的表,就不知道該怎么寫了,直接寫Include("表名")會去關聯Bugs表中,但是Bugs表中不存在這個“表名”的關聯關系。

怎么辦呢?就衍生出了下面的方法嘗試。

using (VersionControlEntities entities = new VersionControlEntities())
{
return entities.Bugs.Include("BugsAnalysis").Include("BugsAnalysis.User").Where(jc => jc.ID == bugid).FirstOrDefault();
}

這里面用的是Bugs關聯了BugsAnalysis表,再關聯BugsAnalysis表所關聯的User表,寫成BugsAnalysis.User即可。

希望這種方法可以幫助到各位。更新版本的EF的寫法大家可以參考Include和ThenInclude的方式


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM