Я работаю в устаревшей системе, в которой код не имеет документации и не следует шаблонов.
Некоторые части системы выполняют запросы, такие как session.Query<Entity>();
, другие части Repository.GetAll();
.
Код, который использует репозиторий, организован, и у меня нет никаких проблем, но часть, которая использует сессию, - беспорядок, в контроллерах много логики и запросов почти для каждой сущности.
Недавно нам нужно было внести изменения в одну сущность и добавить столбец с именем 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>
Я хочучтобы запретить перечислять какие-либо объекты, которые не активированы, но я не хочу искать весь код для запросов по этой сущности, потому что я боюсь что-то оставить, вместо этого я хотел знать, смогу ли я сделать это с помощью сопоставления.