将属性添加到Linq2Sql DBML中的属性

时间:2011-02-17 09:33:35

标签: .net linq-to-sql attributes partial-classes

我们正在使用一个数据库,其中包含我们的应用程序中使用的所有数据库表和字段的元数据。 从这个元数据中,我们生成包含部分类的代码,扩展我们的Linq2Sql实体。

我们想到在元数据中添加一个“过时”标志,该标志又应该将Obsolete属性添加到Linq对象中的标记属性中。 (使用旧字段在我们的代码中生成警告)

这种类型的扩展是否可以在部分类中使用?只是为部分类文件中的属性添加属性?这听起来很像“部分属性”,我认为在.NET中不存在。

2 个答案:

答案 0 :(得分:1)

是的,请查看MetadataType属性。

好例子here。在这种情况下,他们希望为验证目的添加属性,但没有理由你不能这样做来表示过时。

答案 1 :(得分:0)

是的,可以使用部分类将属性添加到通过DBML自动生成的类。

我自己使用它来将CompilerGenerated属性添加到Linq2SQL生成的类中。例如:

[System.Runtime.CompilerServices.CompilerGenerated()]
public partial class MyDataContext : System.Data.Linq.DataContext {}

[System.Runtime.CompilerServices.CompilerGenerated()]
public partial class tblInsurance { }