比较C#中的两个数据源

时间:2011-07-01 20:53:58

标签: c# .net linq data-binding

我有一个gridview,绑定到一个数据源,其数据库表包含一个与数据库表关联的外键,该数据库表用作下拉列表的数据源。

我想要做的是foreignKeyId中是否存在某个gridview.datasource,以便将其从dropdownlist.datasource中删除。

为了更清楚地了解我想要什么/为什么我想要的东西,用户能够向gridview(以及数据源)添加条目,但我不希望用户能够创建超过特定类型的一个条目。 linq查询有没有办法做到这一点?

伪代码(注意我知道 RemoveObjects()是一种无效的方法)

var query = DataContext.Items.Where(item => item.TypeId == selectedTypeId);
dropDownList.DataSource.RemoveObjects(query);

这是我如何绑定下拉列表,所以也许我可以在这里做一些事情获取已经存在TypeId的项目?

dropDownList.DataSource = DataContext.Items.Select(items => new
                {
                    items.Name,
                    items.TypeId,
                }).ToList();

任何建议或答案都会很棒!

1 个答案:

答案 0 :(得分:5)

您是否尝试过使用except

    dropDownList.DataSource.Except(query)