0

是否可以[Column(IsDbGenerated=true)]使用伙伴类(通过链接到 LINQ 类[MetadataType(typeof(BuddyMetadata))])来装饰 LINQ 生成类的字段?

我的目标是能够清除和重新填充 LINQ ORM 设计器,而不必每次都手动设置“自动生成值”属性来重新确定某些列是自动生成的事实。

谢谢!

4

2 回答 2

0

您可以使用部分类- 使用您自己的部分类并用属性装饰它。它将不受代码生成的影响。

如果你需要装饰一个方法,你也可以使用部分方法

据我所知,如果没有代码生成器在重新生成时破坏它们,就不能以这种方式装饰字段。

于 2010-06-09T21:09:15.917 回答
0

LINQ to SQL 不识别伙伴类。

您不能只将属性添加到部分,因为该属性已经在另一个部分中定义(这是发明伙伴类来解决的问题)。

一种选择是使用我的 VS 的 T4 模板来复制 LINQ to SQL 的代码生成功能(我曾经在产品团队工作),您可以在其中放置一些逻辑来检测自动生成的列并发出每次都是正确的属性。

http://l2st4.codeplex.com

于 2010-06-10T05:06:12.067 回答