У меня есть отображение и POCO, как показано ниже. Проблема в том, что tbFNamesFeature
не обновляется при сохранении этого объекта (тогда как tblFeature
есть)
Я пробовал разные значения для cascade
, но безрезультатно, поэтому я должен сказать, что есть кое-что, чего я не получаю. (см. ??? в XML).
Что я делаю не так?
tbFNamesFeature
имеет 2 столбца:
FNamesId (PK, int, not null)
FeatureId (PK, int, not null)
<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="Feature, Infrastructure.Interface"
table="tblFeature">
<id name="Id" type="Int32" unsaved-value="0">
<column name="FeatureId" sql-type="int" not-null="true" unique="true" index="PK_tblFeature" />
<generator class="native" />
</id>
<property name="Description" type="String">
<column name="Description" length="100" sql-type="varchar" not-null="false" />
</property>
<bag name="FNames" table="tbFNamesFeature" inverse="true" lazy="false" cascade="???">
<key>
<column name="FeatureId" sql-type="int" not-null="true" />
</key>
<many-to-many class="FName, Infrastructure.Interface">
<column name="FNamesId" sql-type="int" not-null="true" />
</many-to-many>
</bag>
</class>
</hibernate-mapping>
Feature.cs
public partial class Feature : System.IComparable
{
protected int id;
protected string description;
public virtual int Id
{
get { return this.id; }
set { this.id = value; }
}
public virtual string Description
{
get { return this.description; }
set { this.description = value; }
}
}
Feature.part.cs
public partial class Feature : System.IComparable
{
private System.Collections.Generic.IList<FName> fnames;
public virtual System.Collections.Generic.IList<FName> FNames
{
get
{
if (this.fnames == null)
{
this.fnames = new System.Collections.Generic.List<FName>();
}
return this.fnames;
}
set {
this.fnames = value;
}
}
}