更新数据模型业务实体

时间:2009-07-27 12:43:58

标签: asp.net linq datamodel

我有网络应用程序,我使用linq进行商业活动,我有业务数据模型。

问题是:

我有一个列的表,它不允许空值,当我尝试更新此表时出现以下错误: error属性'例如Carrier'是对象密钥信息的一部分,无法修改

我能做什么?

1 个答案:

答案 0 :(得分:1)

最简单的方法是在表中添加第二列,该列具有唯一键,例如guid,并在与其对应的实体上创建只读属性。

Linq to business entites需要某种密钥来跟踪数据库中的更新内容。通常这是数据库表上的主键。如果您没有主键,则无法可靠地更新数据库,然后会向您发送异常。

此外,如果没有在表linq上明确设置主键,那么业务实体将选择其中一列(认为它是表中的第一列但我可能是错的)作为主键,因此不会允许你更新它。