2008-09-15 28 views
3

已經嘗試使用.NET 3.5附帶的新動態數據站點創建工具。該工具使用LINQ數據源使用.dmbl上下文文件從數據庫獲取數據以供參考。我在自定義數據網格時相交,但我需要顯示來自多個表格的數據。有誰知道如何使用LINQ數據源對象來做到這一點?.NET 3.5 Linq數據源和聯接

回答

2

如果這些表通過外鍵連接,你可以很容易地引用這兩個表,因爲它們將被連接通過linq自動(你可以很容易地看到,如果你看看你的DBML和有一個箭頭連接表) - 如果沒有,看看你是否可以添加一個。

要做到這一點,你可以使用這樣的事情:

<%# Bind("unit1.unit_name") %> 

凡在該表中,「單位」具有引用另一個表的外鍵,你拉的是UNIT_NAME「的單位的財產「

我希望這是有道理的。

0

您不能在數據網格中放置多個對象/數據源。您將不得不構建一個單一的ConceptObject,它結合了實體部分的公開屬性。嘗試使用DB - > L2S實體 - > ConceptObject。如果數據庫模型與ConceptObject field-for-field匹配,則必須非常費解。

2

(編輯誤解了這個問題,修改我的回答如下)

你的LinqDataSource可以指向一個視圖,可以讓你克服不能夠表達的實際元素的加入的問題。從"How to: Create LINQ to SQL Classes Mapped to Tables and Views (O/R Designer)"

O/R設計器是一個簡單的對象關係映射器,因爲它僅支持1:1映射關係。換句話說,一個實體類與數據庫表或視圖只有1:1的映射關係。不支持複雜映射,例如將實體類映射到多個表。但是,您可以將實體類映射到連接多個相關表的視圖。

+0

是的,但我該如何使用LINQDataSource對象來做到這一點? – Norge 2008-09-15 22:28:46

0

當您執行更復雜的Linq並將您的網格綁定到ObjectDataSource時,最好使用ObjectDataSource。 但你需要注意匿名類型,可能會給你一些麻煩,但任何東西都是可能的...