2010-08-26 100 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

谢谢不要以为这是可能的,因为你选择的是匿名类型而不是实体。因此网格中的记录与您的实体模型无关。你必须自己处理记录删除和更新。