none
在EntityFramework下如何進行多對多查詢? RRS feed

  • 問題

  •  環境:win7 64bit、vs2010、EntityFramework 5


    初次使用LinqToEntities,採用DB First的方式,先建立好DB再轉成edmx。

    剛開始使用時跟使用LinqToSQL無異,但是再處理一個多對多的查詢時遇到瓶頸。

    我建立了一個Table處理多對多關係,但是再edmx裡面沒有被轉成Entity實體,於是我的Linq寫到一半因為沒有可join的Table而寫不下去。

    google爬文之後查出了原因:如果一張Table只記錄了兩個外來鍵,而兩個外來鍵又同時是主鍵時,

    使用EntityFramework轉換成edmx的時候,Table會被判斷為一個多對多的關係。

    此時Table不會轉成Entity實體,而是改以一個關聯關係來紀錄兩個多對多的關聯資料。

    寫慣SQL跟LinqToSQL的我此時不知該怎麼辦,不曉得在LinqToEntities中,多對多查詢該如何處理?

    2014年11月7日 上午 11:45

所有回覆

  • http://blog.kkbruce.net/2013/10/use-entity-framework-code-first-create-many-to-many-relationship.html

    如果你是新手,建議可以由 Code First 下手,雖然 Code First 入門曲線比較高些,但 Entity Framework 下一版確定移除 *.edmx 的支援,也就是說,早晚都要痛(但你可以選擇不痛)。

    這裡有許多資料可以學習:http://msdn.microsoft.com/zh-tw/data/ee712907


    理直氣和,切記。

    推廣

    微軟免費中文影音線上教學網站

    2014年11月7日 下午 12:30