2010-08-26 122 views
1

我在我的數據庫3個表和我創建從數據庫中的實體模型,它看起來像這樣: alt textADO.NET實體 - 幫助需要

什麼即時試圖做的是結合所有3個表來datagridview的和即時通訊使用這樣的查詢

var result = from t in db.Transactions 
        from c in db.Categories 
        from a in db.Accounts 
        where t.FkCategoryID == c.CategoryID && t.FkAccountID == a.AccountID 
        select new { t.Description, t.BankReference, t.TransactionDate, c.CategoryName, a.AccountName, a.AccountNr }; 

這工作得很好。 但我需要通過使用綁定導航工具欄

alt text

我不是能夠做到這一點使用LINQ查詢並將其綁定到GridView控件能夠更新事務表。

有沒有什麼辦法可以通過使用實體框架來實現呢?我的意思是,當我只有一個表綁定到綁定能夠使用該工具欄來刪除更新和添加行源的IM,但我必須表明所有表,只能夠編輯事務表提前

回答

0

一個建議是爲您的查詢創建數據庫視圖並映射到該視圖,而不是連接的表。

+0

我試過了,事情是我創建的視圖是不可更新的。有什麼辦法讓我的情況下可以更新嗎? – ilkin 2010-08-26 11:33:01

+0

您應該能夠更新SQL Server中的視圖 - 您使用的是哪個數據庫?也就是說,我從來沒有試圖將視圖映射到實體。 – 2010-08-26 13:57:10

+0

我正在使用mssql – ilkin 2010-08-27 20:00:48

0

謝謝不要以爲這是可能的,因爲你選擇的是匿名類型而不是實體。因此網格中的記錄與您的實體模型無關。你必須自己處理記錄刪除和更新。