在linq里一些实体类要有些改变,例如会给字段加些东西,例如红色部门[Column(Storage="_InputDate", DbType="DateTime NOT NULL", IsDbGenerated=true)]
public System.DateTime InputDate {...}可是每次都更新dbml的时候,这些红色部门就tmd的消失了。
————————————————————————————————————于是我想了个办法,写个这个类的子类,继承这个实体类,不就可以了吗。
在子类里,重写要修改的部门。写好后,执行add方法,提示NullReferenceException啥原因呀。有哥们实现过这个功能的吗。不行我贴全部代码,你们帮忙点拨下小弟,非常感谢呀~~~

解决方案 »

  1.   

    [Column(Storage="_InputDate", DbType="DateTime NOT NULL", IsDbGenerated=true)] 
    public System.DateTime InputDate {...} 
    这个不是自动生成的吗?
      

  2.   

    IsDbGenerated=true
    这个东西绝对不是自动生成的(你做个测试就知道了)。
    无论你在数据库表里如何设置,都不行。
    我已经在数据库表里,设置了InputDate 的默认值,不允许为空。都设置了,
    仍旧无法自动生成IsDbGenerated=true这个东西。————————————————————————————————————
    我这个仅仅是举个例子,不仅是这样的改动,
    还例如我要某个实体类,实现一个接口,在实体类里已经写好了,一更新dbml后,
    自己写的代码就没了。————————————————————————
    我就是想自己写个类,继承linq生成的类,怎么做呢?public class 我自己的类: linq自动生成的实体类
    这么写,编译没问题,运行错误。NullReferenceException
      

  3.   


    public class MyClass: LinqAutoClass
    {
        // MyClass 我自己写的一个子类。
         // LinqAutoClass 是dbml自动生成的实体类。
        // 为了做测试,一句代码都不写,在新增的时候,仍旧出错。
    }在bll层里
    LinqAutoClass entity = new MyClass();
    ....
    dataContext.GetTable<tb_Inputer>().InsertOnSubmit(model);
    dataContext.SubmitChanges();
    // NullReferenceException 
      

  4.   


    public class MyClass: LinqAutoClass
    {
        // MyClass 我自己写的一个子类。
         // LinqAutoClass 是dbml自动生成的实体类。
        // 为了做测试,一句代码都不写,在新增的时候,仍旧出错。
    }在bll层里
    LinqAutoClass entity = new MyClass();
    ....
    dataContext.GetTable<LinqAutoClass>().InsertOnSubmit(entity);
    dataContext.SubmitChanges();
    // NullReferenceException 
      

  5.   

    在线等呀,就没有linq高人吗?
      

  6.   

    是不是linq to sql 的语法?
    [Table]
    public class TA
    {
    [column]
    public string ca;
    .........
    }