我们在项目中使用Oracle 10g数据库,NHibernate,WCF和Silverlight 3.0 我们的情况是我项目中的实体有很多属性。但是对于某些情况,比如在下拉列表中显示选项,我只想检索该实体的ID和名称字段列表。我不希望返回整个实体对象的列表作为一个整体,因为表中有许多列。目前我使用两个SELECT查询:一个用于获取ID列表,另一个用于分别获取名称列表。然后我加入这两个查询并形成一个Dictionary并将其传递给UI。
我担心的是,是否可以在单个查询中实现这一目标?
我知道的一种方法是创建一个只有ID和Name属性的新类,将其导入NHiberante,然后形成这个新类的列表并将其发送到UI。我现在想避免这种方法,因为有很多表我必须实现这个功能,因此我将不得不创建许多新类和相应的xml文件。
非常感谢任何形式的帮助。
答案 0 :(得分:1)
以下是使用Criteria API,Projections和AliasToBean进行此操作的一种方法。如果它是包含Id和Name的简单非持久类,则可以重用该类。 NHibernate query CreateCriteria