私はそのような外部キーを使用してリンクされているテーブルのセットを持っています
A 1----* B
つまり、Aは多くのBレコードを持つことができます。
特定のフラグが関数に渡された場合にB.isMax==trueであるすべてのAレコードを返すために「where」句を追加する必要があります。これをどう処理するかわかりません。
public List<A> GetA(int AID, string AName, bool? isActive, bool? isMax)
{
var q = from a in Context.A
select a;
if (AID > 0)
{
q = q.Where(c => c.AID == AID);
}
if (!string.IsNullOrEmpty(AName))
{
q = q.Where(c => c.Name.Contains(AName));
}
if (isActive != null)
{
q = q.Where(c => c.IsActive == isActive);
}
if (isMax != null)
{
// ???? Can't do this. How can I implement this kind of thing??
q = q.Where(c => c.B.IsMax == isMax);
}
List<A> ret = q.ToList();
return ret;
}
何かご意見は??