如何从Linq.Table <tentity>?</tentity>获取ColumnAttributes

时间:2009-08-28 14:03:33

标签: c# .net linq datacontext columnattribute

我正在尝试从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;
}

如何访问User对象或Table<User>对象以获取有关列的MetaData(IsPrimaryKey,CanBeNull等)?

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

1 个答案:

答案 0 :(得分:4)

var context = new MyDataContext();
MetaTable userMeta = context.Mapping.GetTable(typeof(User));
var dataMembers = userMeta.RowType.PersistentDataMembers;

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