星期日, 8月 01, 2010

手動加入 Entity Framework 的關聯

今天來紀錄在使用 Entity Framework 的一個技巧,我們常常在使用 .edmx 的時候需要自己去拉關聯,因為有時候資料庫的 table 跟 table 不一定會在一開始設計的時候加上關聯,或是有些時候資料庫部份我們並沒有權限去修改,這時候我們就可以自己去 .edmx 上面拉關聯,這樣我們在寫 linq to entity 就可以不用用 join in 的方式而是直接用關聯的方式寫就行了,下面我建立一個簡單的兩個 table 來做的簡單的範例

這是簡單的兩個 Table,因為資料庫裡面沒有設關聯,所以在 edmx 裡是沒有關聯的

image

我們手動加入關聯

SNAGHTMLecfebd

之後我們還要在"關聯"設定"Mapping Details"下面這個才算完成

image

編譯一下,竟然發現出現錯誤..

image

我們還要去把 Child 的 ParentId 去掉才會正確編譯的過..

image

這樣就 ok 啦,住意這個修改只有在 .edmx 裡有作用,在資料庫那邊完全不會有任何改變,所以大可放心去修改吧!

參考:
http://msdn.microsoft.com/en-us/library/aa697427%28VS.80%29.aspx

沒有留言: