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的方式

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章