【发布时间】:2011-08-07 19:08:33
【问题描述】:
我有两个实体的简单映射:poll 和 polloption
投票:
public class PollMap : ClassMap<Poll>
{
public PollMap() {
Id(x => x.Id);
Map(x => x.Content);
HasMany(x => x.PollOptions).Cascade.All();
}
}
投票选项:
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");
}
当删除操作触发它时,它不会从 db 中删除 polloption,而是在我的外键中设置 null :(
ps。谷歌没有帮助
【问题讨论】:
标签: asp.net-mvc nhibernate fluent-nhibernate mapping