我正在开发一个使用SQL2008,Linq2Sql,域服务和动态数据的Webforms应用程序(在VS 2010,.net 4.0,VB中)。
我的问题是,当我尝试插入新记录时,我收到错误:“..CustomerId is required” 但ID设置为主键,数据库中的Identity和L2S Datamodel中的Customer实体也标记为
<Global.System.Data.Linq.Mapping.ColumnAttribute(Storage:="_CustomerId", AutoSync:=AutoSync.OnInsert, DbType:="Int NOT NULL IDENTITY", IsPrimaryKey:=true, IsDbGenerated:=true)> _
因此无需手动提供CustomerId。
任何人都有同样的经历吗? 我做错了什么?
提前感谢您的帮助。
GM
这是一个小小的更新: 我添加了另一个项目,基本上与上面的设置相同但没有DomainService类。所以它只是Linq2Sql和动态数据。我使用了相同的数据库。插入工作正常,这里没有hickups。 所以似乎问题出在域名服务上。
任何帮助都将不胜感激。
由于 GM
答案 0 :(得分:0)
[复制对asp.net thread的回复,以便这个也被关闭]
格哈德,
请查看this thread,我认为该问题讨论了同一问题。好吧,它讨论了两个不同的问题,这是其中之一。简而言之,解决方案是在元数据类(创建Web服务时生成的属性)中的ID属性上添加ScaffoldColumn(false)属性。
希望这有帮助, 大卫