gpt4 book ai didi

sql - NHibernate.Linq - 自定义/计算属性表达式

转载 作者:行者123 更新时间:2023-12-01 02:57:57 25 4
gpt4 key购买 nike

域对象如何包含从其他数据库映射属性计算值的属性,以便 nhibernate.linq 可以在域对象实例和 db 级别中使用计算的属性。

我希望能够在直接使用对象时使用该属性:

Console.WriteLine(Entity.Calculated.ToString());

当使用 nhibernate.linq 时
var q = from e in session.Linq<Entity>()
where e.Calculated > 0
select e;

最佳答案

您需要复制类中的逻辑和映射。下面是一个例子:

类(class):

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 Amount - 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>

现在你可以使用 Linq 查询 Invoice.Balance

关于sql - NHibernate.Linq - 自定义/计算属性表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2229730/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com