NHibernate "सूत्र" का नाम दिया मानचित्रण config कि एसक्यूएल इंजेक्शन के एक संपत्ति "गणना" करने की अनुमति देता में संपत्ति तत्व पर एक विशेषता है। मेरे पास समस्या एसक्यूएल सिंटैक्स का उपयोग कर सूत्र है। फार्मूला संपत्ति का उपयोग करने के बजाय lambda अभिव्यक्ति का उपयोग करने के लिए nhibernate.linq रखने का कोई तरीका है।NHibernate LINQ - मानचित्रण पर सूत्र विशेषता के स्थान पर उपयोग लैम्ब्डा अभिव्यक्ति
public class Invoice
{
public virtual int Id { get; protected set; }
public virtual decimal Amount { get; set; }
public virtual decimal Paid { get; set; }
public virtual decimal Balance
{
get { return BalanceExpression.Expression.Compile().Invoke(this); }
}
}
public class BalanceExpression
{
public static Expression<Func<Invoice, decimal>> Expression
{
get { return i => i.Amount - i.Paid; }
}
}
<class name="Invoice">
<id name="Id">
<generator class="hilo"/>
</id>
<property name="Amount"/>
<property name="Paid"/>
<property name="Balance" formula="Amount - Paid" access="readonly"/>
</class>
मैं बजाय सूत्र विशेषता में एसक्यूएल वाक्य रचना डाल करने के लिए इसलिए मैं अपने मानचित्रण config से सूत्र विशेषता को हटाने और प्रश्नों लिख सकते हैं होने के balanceexpression.expression उपयोग करने के लिए nhibernate हैं:
मैं निम्नलिखित है निम्नानुसार:
सत्र से .linq() जहां i.balance> 0 I का चयन करें;
मैं LINQ क्वेरी में balanceexpression.expression कैसे इंजेक्षन करते हैं? http://www.nhforge.org/doc/nh/en/#mapping-declaration-property -