这是我的第一篇文章,因此请您原谅我的任何错误。
我希望将Linq查询转换为nHibernate的已发布条件。
对于执行此嵌套查询的简洁答案,我遇到了很多麻烦(整天都在搜索),目前在Linq中。我发现了很多零散的信息,但是我不能完全把它们放在一起。
为此目的,我的班级布局:
Sheet --> Sections --> Questions.Type {string}
基本上,工作表包含一个部分列表,其中包含一个问题列表。 Questions有一个字段“ Type”,它是一个字符串,我想将其置零。
LinQ
Query<Sheet>()
.Where (x.Sections.Any(section=>section.Questions.Any(q => q
is MultiChoice && ((MultiChoice)q).NativeValue.Id == anyInt))));
因此,基本上,我想检查问题(q)的类型是MultiChoice并等于我在那里输入的int值。不过,我真正的问题只是进入子对象级别。
到目前为止,我听说过有人提到对象内部对象的关联。如果以DetatchedCriteria的形式显示此语句的示例,我想我会学得最快。我有很多这样的情况要处理,但我认为这里可以举出一个很好的例子。
我使用了简化的班级图表,因为它们很大,但这是相关的部分。请让我知道是否需要更多信息。
我是nHibernate的新手,但到目前为止,在完成直接分离标准方面已经取得了一些成功,包括.Add限制和.Disjunction()类型,据我所知。