Я настроил проект Nhibernate в C # с локальной базой данных SQLite, и если возникла проблема при сохранении моего объекта Nhibernate, он говорит мне, что мой первичный ключ не уникален, это верно, но я добавил Generator в свой nhibernate -отображением.
Вот класс:
public class Article
{
public virtual int ArticleId { get; set; }
public virtual string Name { get; set; }
public virtual double Price { get; set; }
public virtual string ArticleNumber { get; set; }
public virtual string Description { get; set; }
public virtual Sales Sales {get; set;}
}
А вот файл сопоставления:
<class name="Article">
<id name="ArticleId">
<generator class="identity" />
</id>
<property name="Name" />
<property name="Price" />
<property name="ArticleNumber" />
<property name="Description" />
<many-to-one name="Sales" class="Sales" column="SalesId"/>
</class>
Я создаю несколько статей и добавляю их в «Продажи». Если я хочу сохранить свои «Продажи», он получает исключение PrimaryKey.
Есть ли известная проблема?
Очень спасибо, Алекс
Карта продаж:
<class name="Sales">
<id name="SaleId" unsaved-value="0">
<generator class="identity" />
</id>
<property name="Amount" />
<property name="Price" />
<bag name="OrderList" cascade="all">
<key column="ArticleId"/>
<one-to-many class="Article"/>
</bag>
</class>
public class Sales
{
public Sales()
{
if (this.orderList == null)
orderList = new List<Article>();
}
private IList<Article> orderList;
public virtual int SaleId { get; set; }
public virtual double Price { get; set; }
public virtual int Amount { get; set; }
public virtual IList<Article> OrderList
{
get
{
return this.orderList;
}
set
{
this.orderList = value;
}
}
}