私は次の3つのテーブルとの関係を取得しました:m-
Activities
次に、選択したリストがCharacteristics
添付されているすべてのクエリを実行します。
私の質問:
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
どうすればそれを達成できますか?
サイドノード:排他的なフィルタリングは必要ありません。たとえば、で3つの特性を指定する場合CharacFilter
、これら3つの特性のいずれか(必ずしもすべてではない)が付加されている可能性のあるすべてのアクティビティをクエリします。
編集:
CharacFilter
は、private IEnumerable<int> CharacFilter { get; set; }
これらの特性を選択してビュー変数で保持するビューから入力されていますpublic List<Characteristic> SelectedCharacteristics { get; set; }
私の割り当て:
var view = new AssignCharacteristicsView();
view.ShowDialog();
if (view.SelectedCharacteristics != null)
{
CharacFilter = view.SelectedCharacteristics.Select(cf => cf.Id);
}
`