我必须使用简单的实体
public class EntityA
{
public virtual int ID { get;set;}
public virtual string Name { get;set;}
public virtual IList<EntityB> BList { get;set;}
public EntityA()
{
BLIst = new List<EntityB>();
}
}
public class EntityB
{
public virtual int ID { get;set;}
public virtual string Name { get;set;}
public virtual int Value { get;set;}
public virtual EntityA EntityA { get;set;}
}如何在应该查询EntityA.Name = 'SearchString‘和List的地方进行ICriteria查询(EntityB.Name=’name1‘and (EntityB.Value=1)) And ((EntityB.Name='Name2') And (EntityB.Value=1)
搜索可以包含一个列表,我尝试了以下查询:
if (SearchBLIst.Count > 0)
{
foreach (EntityB searchAttribute in SearchBLIst)
{
Junction disjunction1 = Restrictions.Disjunction();
disjunction1.Add(
Expression.Eq("entityB.ID", searchAttribute.ID) &&
Expression.Ge("attributeValues.Value",searchAttribute.value));
store.Add(disjunction1);
}
}发布于 2011-04-28 15:17:56
实体b名称应同时为2个不同的值。
我猜你也想在限制中使用其他实体的属性。您需要“加入别名”。
https://stackoverflow.com/questions/5814964
复制相似问题