Как получить атрибуты ColumnAttributes из Linq.Table <TEntity>? - PullRequest
1 голос
/ 28 августа 2009

Я пытаюсь вернуть атрибуты столбцов из моего 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> для получения метаданных (IsPrimaryKey, CanBeNull и т. Д.) О столбцах?

Заранее спасибо. Все еще учусь ...

1 Ответ

4 голосов
/ 28 августа 2009
var context = new MyDataContext();
MetaTable userMeta = context.Mapping.GetTable(typeof(User));
var dataMembers = userMeta.RowType.PersistentDataMembers;

Оттуда вы можете получить все виды вещей.

...