我有一个班级:
public class CASremind : ORMEntity
{
public virtual int Id { get; set; }
public virtual int FillerId { get; set; }
public virtual DateTime Deadline { get; set; }
public virtual string Email { get; set; }
}
我已将4个视图映射到此类:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="AppraisalOnlineGRLibrary"
namespace="AppraisalOnlineGRLibrary.Entities">
<class name="AppraisalOnlineGRLibrary.Entities.CASremind" table="CASremind7" entity-name="CASremind7" lazy="false">
<id name="Id" column="id"/>
<property name="Deadline" column="deadline" />
<property name="FillerId" column="usr_id" />
<property name="Email" column="email" type="System.String" length="80" />
</class>
<class name="AppraisalOnlineGRLibrary.Entities.CASremind" table="CASremind2" entity-name="CASremind2" lazy="false">
<id name="Id" column="id"/>
<property name="Deadline" column="deadline" />
<property name="FillerId" column="usr_id" />
<property name="Email" column="email" type="System.String" length="80" />
</class>
<class name="AppraisalOnlineGRLibrary.Entities.CASremind" table="CASremindSuccess" entity-name="CASremindSuccess" lazy="false">
<id name="Id" column="id"/>
<property name="Deadline" column="deadline" />
<property name="FillerId" column="usr_id" />
<property name="Email" column="email" type="System.String" length="80" />
</class>
<class name="AppraisalOnlineGRLibrary.Entities.CASremind" table="CASremindFail" entity-name="CASremindFail" lazy="false">
<id name="Id" column="id"/>
<property name="Deadline" column="deadline" />
<property name="FillerId" column="usr_id" />
<property name="Email" column="email" type="System.String" length="80" />
</class>
</hibernate-mapping>
直到这一部分,一切都运作良好。
现在是棘手的部分。
当我想执行时:
using (ISesion.BeginTransaction())
{
CASesList7 = (List<CASremind>)ISesion.CreateQuery("FROM CASremind7").List<CASremind>();
CASesList2 = (List<CASremind>)ISesion.CreateQuery("FROM CASremind2").List<CASremind>();
CASesListS = (List<CASremind>)ISesion.CreateQuery("FROM CASremindSuccess").List<CASremind>();
CASesListF = (List<CASremind>)ISesion.CreateQuery("FROM CASremindFail").List<CASremind>();
}
上述CreateQuery
条中的每一条都会返回“CASremind7”的内容。图。
例如
CreateQuery('From CASremindFail') returns the same rows as CreateQuery('From CASremind7')
为什么CreateQuery
方法只使用映射XML中的第一个类/实体名?
是否有其他方法来映射此视图,以便CreateQuery
方法返回选定的视图内容而不是映射XML中第一个类/实体名称的内容?
提前感谢您的帮助:)
澄清一下,这就是我想要实现的目标:
我有4个观看次数。它们中的每一个都具有相同的列。他们之间唯一的区别是“&#39; WHERE&#39;中的参数。言。
我不想为这些视图创建4个具有相同主体的单独类。
我想在一个班级上映射这些观点。
之后我想从这些视图中获取行作为类列表。 (每个视图的类应该相同)