C# 更新预测背后的数据?
我有两个实体,C# 更新预测背后的数据?,c#,linq,entity-framework,C#,Linq,Entity Framework,我有两个实体,行,它有多个标记: 在我的UI中,我有一个列表框: var tagNames = someline.Tags.OrderBy(x=>x.Name).Select(x => x.Name).ToList(); var tagsList = from t in rs.Tags join n in tagNames on t.Name equals n into tags select new { Name = t.Name, IsTagged = tags.Any()};
行
,它有多个标记
:
在我的UI中,我有一个列表框:
var tagNames = someline.Tags.OrderBy(x=>x.Name).Select(x => x.Name).ToList();
var tagsList = from t in rs.Tags join n in tagNames on t.Name equals n into tags select new { Name = t.Name, IsTagged = tags.Any()};
dgvTags.DataSource = tagsList;
此列表框绑定到投影:
var tagNames = someline.Tags.OrderBy(x=>x.Name).Select(x => x.Name).ToList();
var tagsList = from t in rs.Tags join n in tagNames on t.Name equals n into tags select new { Name = t.Name, IsTagged = tags.Any()};
dgvTags.DataSource = tagsList;
问题:
var tagNames = someline.Tags.OrderBy(x=>x.Name).Select(x => x.Name).ToList();
var tagsList = from t in rs.Tags join n in tagNames on t.Name equals n into tags select new { Name = t.Name, IsTagged = tags.Any()};
dgvTags.DataSource = tagsList;
我希望选中该复选框,它会自动添加标记/或从Line.Tags集合中删除未选中的标记。这是一种简单的方法,还是我必须抓住点击并完成工作并刷新网格
问题2。。。在我做上述操作之前,我注意到复选框甚至没有选中,这有什么原因吗
非常感谢。如果您将数据源绑定到投影,那么您将创建类似于只读(单向)数据绑定的内容—后面没有可以更新的实体。此外,某些automagic数据绑定并非如此。您正在显示有关所有标记的信息,并选择必须添加到行中的标记。这意味着您必须手动处理UI触发的事件,获取所选标记的Id,并使用它将真正的标记实体添加到行中 正如我所想,谢谢你。我问这个问题的原因是因为我是linq&EF函数的初学者,所以我不知道是否有更好的方法。