数据将LINQ查询绑定到DataGridView,DataGridView也将更新数据库

时间:2013-09-01 23:19:24

标签: c# linq datagridview sql-server-ce

我有一个DataGridView,我想绑定到LINQ查询,它将更新数据库。

首先我有这样的事情

        //Select the values I want which include using a Navigation Property
        var query = from c in _data.OrdersTables
                    where c.FamilyID == _familyID
                    select new { c.ItemInfo.ItemName, c.Requested, c.Paid };

        var results = query.ToList();
        dataGridViewOrderInfo.DataSource = results;

这适用于显示数据,但是当您使用select new时,它会终止与数据库的连接,您必须使用新语句来选择特定列。 现在我有了这个

        var query = from c in _data.OrdersTables
                    where c.FamilyID == _familyID
                    select c;

        var results = query.ToList();
        dataGridViewOrderInfo.DataSource = results;

我只需将整行拉入,然后隐藏我不想要的列,这可用于显示和编辑值,但仅适用于OrdersTables中的值。我无法使用导航属性连接到另一个表并显示其中的数据。

我已经尝试过编辑行标题,但它不会让我和我也尝试添加新列但又不会让我。我想是因为网格已经绑定了。 db指定的额外信息是sql ce。所以我只需要一种方法将datagrid绑定到可能从多个表中提取的自定义select语句。我想我可以在我的.edmx文件中制作某种视图,但我看不到这样做的方法。我还以为我可以创建一个数据库视图,但我认为我不能使用SQL CE。

1 个答案:

答案 0 :(得分:0)

如果要隐藏列,请设置datagridview。