【发布时间】:2012-07-11 17:38:53
【问题描述】:
我得到了这三个表的 n:m-Relationship:
现在我想查询所有附有选定Characteristics 列表的Activities。
我的查询:
e.QueryableSource = _dataContext.Activities.Where(ac =>
ac.UserId == _userId &&
ac.ResubmissionDate <= EntityFunctions.TruncateTime(_to) &&
ac.Priority <= (int)_prio &&
ac.CompletedDate == null &&
ac.Characteristics.Contains(CharacFilter));
遗憾的是,这不起作用,因为 ac.Characteristics.Contains() 需要 ActivityCharacteristics 类型的项目,而不是 Characteristic 类型的项目
我怎样才能做到这一点?
一个侧节点:我不想要排他过滤,比如当我在CharacFilter 中指定三个特征时,我想查询可能附加了这三个特征之一(不一定全部)的每个活动。
编辑:
CharacFilter 是 private IEnumerable<int> CharacFilter { get; set; }
它是从我选择这些特征并将它们保存在 View-Variable public List<Characteristic> SelectedCharacteristics { get; set; }
我的任务:
var view = new AssignCharacteristicsView();
view.ShowDialog();
if (view.SelectedCharacteristics != null)
{
CharacFilter = view.SelectedCharacteristics.Select(cf => cf.Id);
}
`
【问题讨论】:
标签: c# sql-server linq entity-framework-4.3