2009-08-28 2 views
1

Я пытаюсь вернуть атрибуты столбцов из моего DataContext.Как получить ColumnAttributes из Linq.Table <TEntity>?

Как я могу извлечь метаданные 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<User> объект, чтобы получить MetaData (IsPrimaryKey, CanBeNull и т.д.) о столбцах?

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

ответ

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

Оттуда вы можете добраться до всех видов вещей.

+1

foreach (Участник MetaDataMember в данныхMembers) { bool canBeNull = member.CanBeNull; } Спасибо за помощь. Я просто хотел показать, как использовать ваш метод для доступа к CanBeNull. – Jeremiah

 Смежные вопросы

  • Нет связанных вопросов^_^