私は検索したい値のデータベースを持っています。c#エンティティフレームワークエンティティへのlinqを持つオブジェクトへのlinqの混合
何かを検索するには、ユーザーがメモリ内のリストに含まれる特定のチェックボックスを選択する必要があります(チェックボックスの値を変更すると、データベースの保存になります。
私のデータベースからのデータは
.LOAD()
方法によってロードされています。
私の問題は、データベースの値をメモリのtrue/false値と混在させたクエリを構築する方法です。
var query1 = from i in db.MyValuesTable
from j in MyMemoryObjects
where j.IsTrue && j.Id == i.Tab2Id && i.Value.Contains(_searchPhrase)
select i;
(from i in db.TableToLoad
from j in query1
where i.CollectionWithValues.Any(x => x.Tab1Id == j.Tab1Id && x.Tab2Id == j.Tab2Id).select i).Load();
私のクエリは少し混乱することができ、私は一般的にサポートされていないオブジェクトへのLINQを持つエンティティにLINQをミキシング
//db object
public class MyValuesTable
{
public int Tab1Id { get; set; }
public int Tab2Id { get; set; }
public string Value { get; set; }
}
//memory object
public class MyMemoryObjects
{
public int Id { get; set; }
public bool IsTrue { get; set; }
}
//db object
public class TableToLoad
{
public int Tab1Id { get; set; }
public int Tab2Id { get; set; }
public string Value { get; set; }
}
あなた質問は明確ではない。理解しやすいようにしてください。 –
正しい結果を返すオブジェクトに対して、linqとエンティティをlinqとlinqを混合したクエリを作成したい(query2がメッセージで例外をスローしない場合に返されるはずのもの: "プリミティブ型または列挙型のみの定数値を作成できないこの文脈では ") – d3st1ny