C# 从其他对象查找具有NHibernate的实体
我有一个很大的问题: 我正在尝试使用其他对象查找实体(使用NHibernate)。例子: 员工(实体)->{姓名、姓氏、电子邮件、地址} EmployeeSearchFilters(filters对象)->{Name,LastName,Email,Address} 然后,我想将EmployeeSearchFilters传递到存储库(通用),并使用不为null的属性使用NHibernate自动查找。例子: EmployeeSearchFilters->{Name=“Nelly”,LastName=null,Email=“@fibertel.com”,Addres=null} 有人知道我该怎么做C# 从其他对象查找具有NHibernate的实体,c#,nhibernate,repository,C#,Nhibernate,Repository,我有一个很大的问题: 我正在尝试使用其他对象查找实体(使用NHibernate)。例子: 员工(实体)->{姓名、姓氏、电子邮件、地址} EmployeeSearchFilters(filters对象)->{Name,LastName,Email,Address} 然后,我想将EmployeeSearchFilters传递到存储库(通用),并使用不为null的属性使用NHibernate自动查找。例子: EmployeeSearchFilters->{Name=“Nelly”,LastName=
谢谢 我认为
NHibernate.criteria.Example
标准可以用于此目的。可以找到Doc我认为NHibernate.criteria.示例
criteria可用于此目的。可以找到文档您可以使用此功能使用linq:
public virtual List<T> RetrieveByList<T>(Expression<Func<T, bool>> predicate)
{
return Session.Query<T>().Where(predicate).ToList<T>();
}
公共虚拟列表检索列表(表达式谓词)
{
返回Session.Query().Where(谓词).ToList();
}
可以这样使用:
RetrieveByList<Customer>(x=>x.Name == "Nelly" && x.LastName == null && x.Email == "@fibertel.com" && x.Addres == null)
RetrieveByList(x=>x.Name==“Nelly”&&x.LastName==null&&x.Email==“@fibertel.com”&&x.Addres==null)
您可以与动态谓词一起使用您可以通过使用此函数使用linq:
public virtual List<T> RetrieveByList<T>(Expression<Func<T, bool>> predicate)
{
return Session.Query<T>().Where(predicate).ToList<T>();
}
公共虚拟列表检索列表(表达式谓词)
{
返回Session.Query().Where(谓词).ToList();
}
可以这样使用:
RetrieveByList<Customer>(x=>x.Name == "Nelly" && x.LastName == null && x.Email == "@fibertel.com" && x.Addres == null)
RetrieveByList(x=>x.Name==“Nelly”&&x.LastName==null&&x.Email==“@fibertel.com”&&x.Addres==null)
您可以使用动态谓词嘿,我有一个新问题。示例:Employee->City是其他实体,我可以通过它进行搜索。我尝试创建City类的一个新实例,从db获取,将属性名称与City实体的属性相关联,但什么都没有。你知道如何解决它吗?有一个例子(在文档中)与你试图尝试的类似:在
City
属性上创建一个子标准,并添加一个example
标准和属性Name
集。嘿,我有一个新问题。示例:Employee->City是其他实体,我可以通过它进行搜索。我尝试创建City类的一个新实例,从db获取,将属性名称与City实体的属性相关联,但什么都没有。你知道如何解决它吗?有一个例子(在文档中)与你试图尝试的类似:在City
属性上创建一个子标准,并添加一个example
标准和属性Name
集。