我無法保存與nhibernate的多對多關係。我在SO和谷歌中搜索並查看了幾乎所有相同的問題,但沒有任何結果。 單個類正確更新但沒有任何內容插入到連接表中。NHibernate多對多關係不更新連接表
我有2個類:事件和類別。
的映射是這個(我更新了兩個映射,並添加一些代碼):
事件:
<bag name="Categories" access="field.camelcase-underscore" table="EventCategories" cascade="all-delete-orphan" lazy="true">
<key column="Event"/>
<many-to-many class="Category" column="Category"/>
</bag>
類別:
<bag name="Events" table="EventCategories" access="field.camelcase-underscore" inverse="true" cascade="all-delete-orphan" lazy="true" >
<key column="Category"/>
<many-to-many class="Event" column="Event"/>
</bag>
誰產生事件+分類代碼是
public void AddEvent(EventInputModel model)
{
var rawCategories = model.Categories.Split(',');
IEnumerable<Category> categories = _repository.GetCategories(rawCategories);
foreach (var category in rawCategories)
{
var c = categories.Where(p => p.Name.ToLower().Equals(category));
if (c.Any())
{
model.Event.AddCategory(c.First<Category>());
}
else
{
model.Event.AddCategory(new Category() { Name = category });
}
}
_repository.Save(model.Event);
}
public void Save(Event p)
{
using (var t = Session.BeginTransaction())
{
Session.SaveOrUpdate(p);
t.Commit();
}
}
我試圖在兩個映射中交換每個參數,但沒有任何工作...
你知道我在做什麼錯誤或有正確的映射爲這種情況?
非常感謝!
你可以發佈使用這些clases的代碼嗎? – 2010-06-06 17:26:24