有没有办法通过在 nhibernate 2.2 上映射来设置列表条件?
Is there a way to put conditions on listing via mapping on nhibernate 2.2?
我正在处理一个遗留系统,该系统的代码没有文档,也没有遵循任何模式。
系统的某些部分执行 session.Query<Entity>();
等查询,其他部分执行 Repository.GetAll();
.
使用 Repository 的代码是有组织的,我在那里没有任何问题,但是使用 session 的部分是一团糟,控制器中几乎每个实体都有很多逻辑和查询。
最近我们需要对一个实体进行更改并添加一个名为 active
的列。
MyClass.hbm.xml
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="my_class" table="my_class" lazy="true">
<id name="Id" column="id" type="Int32" unsaved-value="0">
<generator class="native">
<param name="sequence">sq_my_class</param>
</generator>
</id>
<property column="name" type="String" name="Name" not-null="true" length="200" />
<property column="area" type="Double" name="Area" not-null="true" />
<property column="type" type="Int32" name="Type" not-null="true" />
<property column="fiscalization" type="Boolean" name="Fiscalization" not-null="true" />
<property column="active" type="Boolean" name="Active" not-null="true" />
</class>
我想阻止列出任何未激活的对象,但我不想在整个代码中搜索此实体的查询,因为我害怕留下一些东西,相反,我想知道是否我可以通过映射来做到这一点。
尝试在 class
元素上设置 where="active = 1"
:
<class name="my_class" table="my_class" lazy="true" where="active = 1" >
我正在处理一个遗留系统,该系统的代码没有文档,也没有遵循任何模式。
系统的某些部分执行 session.Query<Entity>();
等查询,其他部分执行 Repository.GetAll();
.
使用 Repository 的代码是有组织的,我在那里没有任何问题,但是使用 session 的部分是一团糟,控制器中几乎每个实体都有很多逻辑和查询。
最近我们需要对一个实体进行更改并添加一个名为 active
的列。
MyClass.hbm.xml
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="my_class" table="my_class" lazy="true">
<id name="Id" column="id" type="Int32" unsaved-value="0">
<generator class="native">
<param name="sequence">sq_my_class</param>
</generator>
</id>
<property column="name" type="String" name="Name" not-null="true" length="200" />
<property column="area" type="Double" name="Area" not-null="true" />
<property column="type" type="Int32" name="Type" not-null="true" />
<property column="fiscalization" type="Boolean" name="Fiscalization" not-null="true" />
<property column="active" type="Boolean" name="Active" not-null="true" />
</class>
我想阻止列出任何未激活的对象,但我不想在整个代码中搜索此实体的查询,因为我害怕留下一些东西,相反,我想知道是否我可以通过映射来做到这一点。
尝试在 class
元素上设置 where="active = 1"
:
<class name="my_class" table="my_class" lazy="true" where="active = 1" >