1

ユーザーが独自のクエリを作成できるようにしようとしています。この問題を解決すると思われるこのコードを見つけました:

var predicate = PredicateBuilder.True<T1>();

if (a != "")
    predicado = predicado.And(e1 => e1.field1.Contains(a));

if (b!= "")
    predicado = predicado.And(e1 => e1.field2.Contains(b));

var TestQuery = db.T1.AsExpandable().Where(predicate).ToList(); 

これらは私のモデルクラスです:

public partial class T1
{
    public long id_t1 { get; set; }

    public string field1 { get; set; }

    public string field2 { get; set; }
}

public partial class T1
{
    public long id_t2 { get; set; }

    public string field1 { get; set; }

    public string field2 { get; set; }
}

しかし、PredicateBuilder次のような結合ステートメントでを使用する方法が必要です。

var query = from f in db.T1
    where (f.T1field1.Equals("something") && f.T1field2.Equals("something"))
    join m in db.T2 on f.T1field1 equals m.T2field1
    where (m.T2fiel1 != null && m.T2field2 != null )
    select m;
4

0 に答える 0