私はLinqToSqlのアプローチについて質問があります。メソッド呼び出しをラムダ式に変換する方法
モデル:
public class Person
{
public int ID { get; set; }
public string LastName { get; set; }
public Phone Phone { get; set; }
}
public class Phone
{
public int ID { get; set; }
public string Number { get; set; }
public bool IsUkr()
{
return this.Number.StartsWith("380");
}
}
私はORMとしてNHibernateはを使用して、私は
IQueryable<Phone> phones = session.Query<Phone>().Where(x => x.IsUkr());
を実行する。しかし、それは方法を知っていないため、NHibernateのは、SQLにこの表現を翻訳することはできませんしたいですIsUkr()。
session.Query<Phone>().ToExpandable().Where ....
しかし、私はLambdaExpression は、x => x.IsUkr() X => X
への変換方法を理解していない:
ソリューションのIQueryableインターフェイスおよび使用にいくつかのラッパーを書くことです。開始点( "380")
誰かが私を助けることができますか?
これがルーチンチェックの場合は、これをデータベーステーブルの計算されたプロパティにすることを検討することがあります。 –
@GertArnoldありがとうございました。しかし、このような多くの条件がモデル内の他のプロパティにあるので、このアプローチはあまり良くありません –
あなたが探しているものはわかりませんが、https://stackoverflow.com/a/26922208をご覧ください。/1486443 – Najera