如上图 ,表的字段 默认值 不允许NULL. 采用 MVC 框架 类模型 如下
用如下 方法 存档   
       public Nrf01 SaveNrf01(Nrf01 e)
        {
            JXERPDAL JXDal = new JXERPDAL();
            JXDal.Nrf01.Add(e);
            JXDal.SaveChanges();                     return e;
        }
结果报错----问题是  栏位都如果允许 NULL ,则 正常。如果不允许NULL值,默认值设为'' 了,有别什么解决办法吗?
初学者,请高手帮忙了.

解决方案 »

  1.   

    确保传进去的Nrf01对象里面的每个字段都有值
      

  2.   

    --------------------必须如此吗.以往windows程式的写法,栏位可以不填写,因为数据库表的字段有设定默认值,只要新增,数据库会根据数据库字段默认值,自动填写的。但是 这种mvc环境,使用SaveChanges();    数据库字段不会自动填写默认值
      

  3.   

    字符串默认为null。数据库不允许为null当然不行了。
    可以在构造函数中初始化一些默认值。
      

  4.   

    status 后面的允许null你没打勾啊。
    那么你的status必须有值,哪怕你数据库建了默认值,也是没用的,ef根本不会理你
      

  5.   

    -------status 的默认值 =''  ,EF不理会,那就没办法。
      

  6.   

    -------status 的默认值 =''  ,EF不理会,那就没办法。
    你可以直接在属性中设置默认值,如果你的code first的话,那没关系。
    如果你是db first,那么就不行了,因为重新生成ef后,会把以前的属性设置都删除了
      

  7.   

    要么数据库设计Status 允许为NULL,要么在添加的时候为Status 赋一个默认值~