0
我有兩個實體瑣碎的映射:投票和POLLOPTIONNHibernate和的hasMany映射
投票:
public class PollMap : ClassMap<Poll>
{
public PollMap() {
Id(x => x.Id);
Map(x => x.Content);
HasMany(x => x.PollOptions).Cascade.All();
}
}
POLLOPTION:
public class PollOptionMap : ClassMap<PollOption>
{
public PollOptionMap() {
Id(x => x.Id);
Map(x => x.Content);
References(x => x.Poll);
}
}
在測試代碼我嘗試刪除投票實體的第一個投票選項
測試代碼:
[Transaction]
public ActionResult Add() {
var poll = new Poll() {
Content = "poll",
PollOptions = new List<PollOption>() {
new PollOption(){
Content="PollOption#1"
},
new PollOption(){
Content="PollOption#2"
}
}
};
GetSession.Save(poll);
return Content("Added");
}
[Transaction]
public ActionResult Removed() {
var poll = GetSession.Query<Poll>().FirstOrDefault();
poll.PollOptions.RemoveAt(0);
GetSession.Update(poll);
return Content("Updated");
}
當刪除動作射擊它不是從數據庫中,而不是在我的外鍵:(
PS設置空刪除POLLOPTION。谷歌沒有幫助
沒有即時通訊:擁有cascade =「all-delete-orphan」的集合不再被擁有實體實例引用 – Sasha 2011-04-18 12:00:45
@msony在哪條線上得到此錯誤? – 2011-04-19 21:12:36
看起來像孩子以某種方式連接到父母不只與密鑰 – Sasha 2011-04-20 06:58:22