【问题标题】:Adding attributes to properties in the Linq2Sql DBML向 Linq2Sql DBML 中的属性添加属性
【发布时间】:2011-02-17 09:33:35
【问题描述】:

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

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

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

【问题讨论】:

  • 您找到解决方案了吗?我正在尝试做同样的事情。 stackoverflow.com/questions/4651843/…这篇文章看起来不错,但我无法让它工作。
  • 抱歉,没找到这个问题。我做了一些研究,这似乎是 .NET 中部分类系统的一个不幸的缺点。希望他们有朝一日能将其添加到原本很棒的语言功能中。
  • 看看这个,我已经在这里回答了这个问题stackoverflow.com/a/24757520/3050647

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


【解决方案1】:

是的,查看MetadataType 属性。

很好的例子here。在这种情况下,他们希望添加属性以进行验证,但没有理由您不能这样做以表明已过时。

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

    • 谢谢,但我需要为部分类的属性添加属性,而不是类本身。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-28
    • 1970-01-01
    • 2018-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多