0

通过图形界面(添加表/存储过程)对 dbml 进行任何更改时,每个对的引用System.Int32都会更改为System.[Integer]包括方括号),从而导致数百个错误。

这在这个 dbml 设计器中随处可见。vb如:

Public Property ArghID() As System.[Integer]
Public Function PleaseHelpDetails(.... <Global.System.Data.Linq.Mapping.ParameterAttribute(Name:="WhyWhyWhyID", DbType:="Int")> ByVal WhyWhyWhyID As System.[Integer], ...
Private _AnnoyanceID As System.[Integer]
Partial Private Sub OnHauntedDbmlIDChanging(value As System.[Integer])

我找不到这方面的参考。任何人都可以推测原因吗?

搜索和替换解决了这个问题,但这完全是一件令人讨厌的事情。

更新:尝试了经典的“删除适当的“*AppData\Local\Temp\Temporary ASP.NET Files* 文件夹”技巧 - 没有运气。查看文件的 SVN 历史记录 - 一些 ID 设置为字节(!)-在某些时候手动更改为整数。我正在寻找与此不一致的地方-但还找不到任何东西。

4

1 回答 1

0

就是这样 - 搜索和替换已经搜索并破坏了 dbml。

表列的定义在 dbml 文件中设置如下:

<Column Name="WellObviouslyID" Type="System.Integer" DbType="Int NOT NULL" CanBeNull="false" />

代替

<Column Name="WellObviouslyID" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />

并在 .designer 页面中的其他事件中强制它们的完整性。

替换导致这种情况的字符串是一个糟糕的选择。与以往一样,可以通过 gui 做事来避免。试图节省时间总是危险的。

于 2014-04-23T14:28:39.457 回答