【问题标题】:How do I get the ColumnAttributes from a Linq.Table<TEntity>?如何从 Linq.Table<TEntity> 获取 ColumnAttributes?
【发布时间】:2009-08-28 14:03:33
【问题描述】:

我正在尝试从我的 DataContext 返回列的属性。

如何提取 ColumnAttribute 元数据?

public class MyDataContext : DataContext
{
    public Table<User> User;
    public MyDataContext(string connection) : base(connection) { }
}

[Table(Name = "User")]
public class User
{
    [Column(IsPrimaryKey = true)]
    public long ID;
    [Column]
    public string FirstName;
    [Column(CanBeNull=false)]
    public string LastName;

    int VersionNumber = 1000;
}

如何访问用户对象或Table&lt;User&gt; 对象以获取有关列的元数据(IsPrimaryKey、CanBeNull 等)?

提前致谢。还在学习中...

【问题讨论】:

    标签: c# .net linq datacontext columnattribute


    【解决方案1】:
    var context = new MyDataContext();
    MetaTable userMeta = context.Mapping.GetTable(typeof(User));
    var dataMembers = userMeta.RowType.PersistentDataMembers;
    

    从那里,你可以得到各种各样的东西。

    【讨论】:

    • foreach(dataMembers 中的 MetaDataMember 成员) { bool canBeNull = member.CanBeNull; } 谢谢你的帮助。我只是想展示如何使用您的方法访问 CanBeNull。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-26
    • 1970-01-01
    • 1970-01-01
    • 2020-01-08
    • 2015-02-02
    相关资源
    最近更新 更多