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