NHibernate限制-在列表属性内具有给定ID的对象

时间:2018-12-04 12:39:52

标签: c# nhibernate nhibernate-criteria

让我们说我们有以下课程:

public class Food
{
    public IList<Fruit> Fruits;
    public IList<Snacks> Snacks;
    public IList<Vegetables> Vegetables;

    (...)
}

public class Fruit
{
    public int Id;
    public string Name;
    (...)
}

我们需要在列表中找到包含给定ID的水果 Food 实体。因此,基本上,这是关于过滤具有给定水果 ID Food 搜索结果。如何在NHibernate中使用限制机制实现这一目标?

期望的解决方案:

NHibernate.ISession session = GetSession();
int fancyFruitId = 123;

session
    .CreateCriteria(typeof(Food), "f")
    .Add(Restrictions.Eq("f.Fruits.Id",fancyFruitId))
    .List<Fruit>());

显然,这是行不通的,因为水果是一个列表,而不是单个对象。

0 个答案:

没有答案