星期四, 4月 23, 2009

Entity Framework 處理關聯資料表

有人問我..如果一堆關聯的 table..想用 Entity Framework 去抓取資料..會不會很麻煩..我做個簡單的範例..各位看倌看看ㄅ..

先準備 table..

ddc

再來..我希望..以 TableA 的 ID 來作為搜尋條件..找出 TableD 的資料..

using (NORTHWNDModel.NORTHWNDEntities db = new NORTHWNDModel.NORTHWNDEntities())
{
var aaaa = db.TableD.Where(a => a.TableC.TableB.TableA.ID == 1);
GridView1.DataSource = aaaa;
GridView1.DataBind();
}

很簡單ㄅ..如果用 Entity SQL 可以這樣做..

using (NORTHWNDModel.NORTHWNDEntities db = new NORTHWNDModel.NORTHWNDEntities())
{
var aaaa = db.CreateQuery<NORTHWNDModel.TableD>(
"select value d from TableD as d where d.TableC.TableB.TableA.ID = 1");
GridView1.DataSource = aaaa;
GridView1.DataBind();
}

我們看一下 EntityFramework 幫我們產生出來的 TSQL..

dfd

這樣就可以很清楚知道..用 Entity Framework 去處理關聯 Table 是蠻直覺又輕鬆的..在問題在一起討論ㄅ..
Big GrinBig GrinBig GrinBig GrinBig GrinBig GrinBig GrinBig GrinBig GrinBig GrinBig Grin..


1 則留言:

Howard.li 提到...

請問,那如果要insert一筆資料到 tablea呢? tablea有一個欄位對應到 tableb,可是新增資料時好像不能對tableb這個欄位給定某個值。那該如何做insert呢?

謝謝