У меня есть таблица с некоторыми полями и свойствами, и я создал представление с теми же полями и свойствами (единственная разница в том, как вычисляется одно поле). Теперь я хочу, чтобы мнение будет расширить таблицу, НВМ файлы одинаковы для обоих объектов (ожидается название курса)Nhibernate - View extends table, not working
C# код выглядит примерно так:
public class Table
{
private int x;
private int y;
}
public class View : Table
{
}
Но когда Я обновляю объект Table через nhibernate, он также обновляет объект View, он делает 2 операции вставки, и я получаю исключение: Обновление или вставка вида или функции '??' не удалось, поскольку он содержит производный или постоянное поле
Может кто-нибудь объяснить \ показать, как я делаю это наследство, как в .hbm и файлы .cs
EDIT:
НВМ файлы:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
namespace="???" assembly="???">
<class name="Table" table="Table" lazy="true" dynamic-update="true">
<id name="id" type="long" access="field">
<column name="ID"/>
<generator class="native"/>
</id>
<property name="x" type="int" access="field" not-null="false"/>
<property name="y" type="int" access="field" not-null="false"/>
</class>
</hibernate-mapping>
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
namespace="???" assembly="???">
<class name="View" table="View" lazy="true" dynamic-update="true">
<id name="id" type="long" access="field">
<column name="ID"/>
<generator class="native"/>
</id>
<property name="x" type="int" access="field" not-null="false"/>
<property name="y" type="int" access="field" not-null="false"/>
</class>
</hibernate-mapping>
Содержание HBM файлов поможет, а некоторые из примеров кода, который действительно производит двойную вставку ... Так как в стандартном сценарии, NHibernate делает свою работу должным образом –