我在SQL 2005下的表中有62列,而LINQ to SQL没有处理更新,虽然读取工作正常,我尝试将表重新添加到模型中,创建了一个新的数据模型但没有任何工作,我猜我已达到对象的最大列数限制,有人可以解释一下吗?
答案 0 :(得分:1)
我怀疑身份或时间戳列存在问题(在SQL服务器上自动生成的内容)。确保在模型中以任何方式标记自动生成的任何列。您可能还想了解它如何处理并发。如果您有更新任何值(更改值)后更新行上的任何值的触发器,并且它正在检查更新中的所有列,这将导致更新失败。通常我使用时间戳列创建我的表 - 当我生成模型并单独使用它来实现并发时,LINQ2SQL会选择它。
答案 1 :(得分:1)
解决,以下两个之一
- 我正在使用未设置为主键的UniqueIdentifier列
- 设置唯一ID主键,检查服务器资源管理器中同一列的属性,但它仍然没有显示为主键,刷新连接,在模型上删除了相同的表,然后瞧。
所以我假设我之前的一段时间对模型进行了更改,从模型中删除了表,并在没有刷新连接的情况下从服务器资源管理器中添加了表,并且它从未使用过。
问题是,VS Server Explorer是否维护自己的表模式,并且每次在数据库中进行更改时都需要刷新连接?
答案 2 :(得分:0)
LINQ to SQL将处理的列数没有限制。
您是否已成功更新其他表格?
关于如何访问表格内容还有什么不同?