我有一个类 Mod,它有一个成员:
ICollection<Event> EventList
Event 类有一个成员:
public virtual EventType Type { get; set; }
EvenType 类有成员:
public virtual int Id
我想使用 NHibernate Criteria 获取 Mod 中 ID 为 1 或 2 的所有事件的列表。我这样做了:
var subCriteria = DetachedCriteria.For<Mod>()
.Add(Restrictions.In("Event.Type", new int[] {1, 2 })
);
criteria.Add(Subqueries.Exists(subCriteria));
但我得到一个运行时错误,说不能在没有投影的条件上使用子查询。
所以,很好,但我不知道为投影放什么。我可以找到如何进行投影的示例,但没有什么能真正解释其目的。我尝试了各种方法,但都导致运行时错误:
消息:值不能为空。参数名称:key 来源:mscorlib 帮助链接:ParamName:key
我需要使用子查询,因为当它起作用时我会添加更多。
你能建议对投影做什么吗?