Asp.net mvc Fluent Nhibernate和DynamicUpdate
我有NH地图Asp.net mvc Fluent Nhibernate和DynamicUpdate,asp.net-mvc,nhibernate,fluent-nhibernate,Asp.net Mvc,Nhibernate,Fluent Nhibernate,我有NH地图 public class TblContentMap : ClassMap<TblContent> { public TblContentMap() { Table("tbl_content"); DynamicUpdate(); Id(x => x.Id).GeneratedBy.Identity().Column("id"); .... Map(
public class TblContentMap : ClassMap<TblContent> {
public TblContentMap() {
Table("tbl_content");
DynamicUpdate();
Id(x => x.Id).GeneratedBy.Identity().Column("id");
....
Map(x => x.ArticleType).Column("article_type").Not.Nullable();
}
}
但当我调用flush时,它抛出异常。
not null属性引用null或暂时值SocialDB.NDbModel.TblContent.ArticleType
问题是为什么?据我所知,动态更新应该跟踪哪个属性被更改,并且只更新那个值
另外,我知道如果先获取然后更新模型,它是有效的
var item=mvcapapplication.CurrentSession.GetContentById(model.Id);
item.Content=model.Content.StripHtml(false) DynamicUpdate仅用于更新,不用于插入新对象 NH已经告诉你问题出在哪里了 not null属性引用null或暂时值SocialDB.NDbModel.TblContent.ArticleType
保存前将ArticleType属性设置为某个值 一般来说,它的工作原理与EF相同,要使用动态更新,需要选择项并更新字段,然后将其推送到数据库,这样它将只更新修改过的字段
public ActionResult Save(TblContent model)