Asp.net mvc Fluent Nhibernate和DynamicUpdate

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(

我有NH地图

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)