比较C#中的两个数据源

Jor*_*man 2 .net c# 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);
Run Code Online (Sandbox Code Playgroud)

这里是我绑定下拉列表,所以也许我可以做一些事情在这里并不与现有的typeid的拿到物品?

dropDownList.DataSource = DataContext.Items.Select(items => new
                {
                    items.Name,
                    items.TypeId,
                }).ToList();
Run Code Online (Sandbox Code Playgroud)

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

Con*_*rix 5

你是否尝试过使用

    dropDownList.DataSource.Except(query)
Run Code Online (Sandbox Code Playgroud)