刚开始使用LINQ2SQL,我有几个问题。
我有一个带有单个表Customer的db,我运行sqlmetal并为它生成一个ORM类。
我想在Customer的构造函数中应用某些规则,也许类似于 必须提供Customer的firstName,lastName成员。
我在sqlmetal生成的Customer类中创建了一个新的构造函数 取2个参数firstName,secondName然后标记默认无参数 构造函数作为内部因为我不想将它暴露给任何消耗它的东西 组装
当我尝试SubmitChanges()时,由于无参数构造函数从公共内部到内部的新保护级别,我的代码开始抱怨。
List<Customer> customerList = new List<Customer>();
customerList = dbInstance.Customer.ToList();
Customer customerToDelete = customerList.Where(c => c.Customer_id == 100).First();
dbInstance.Customer.DeleteOnSubmit(customerToDelete);
dbInstance.SubmitChanges(); <-- error thrown
“没有为此对象定义无参数构造函数”
为什么访问修饰符必须在Customer ORM类的默认构造函数中公开?当它是公开的时,它按预期工作。
答案 0 :(得分:0)
LinqToSql生成部分类,因此您可以使用它。也不要编辑生成的文件。更新模型后,您将丢失所有更改。