Псевдонимы для имен свойств сложного типа в Entity Framework - PullRequest
4 голосов
/ 16 июня 2011

Мой администратор баз данных называет имена своих столбцов чем-то отличным от того, как наш код использует данные таблицы (например, описание по сравнению с названием продукта). Мне интересно, если у меня есть сложный тип в Entity Framework, можно ли присвоить свойству псевдоним?

Ответы [ 3 ]

4 голосов
/ 16 июня 2011

Вы можете присвоить свойству любое имя и просто сопоставить поле базы данных с этим свойством. Имя свойств не зависит от имен связанных столбцов базы данных.

3 голосов
/ 16 июня 2011

Используете ли вы EntityFramework Code-First? Когда вы упоминаете сложный тип, это то, о чем я думаю. Если это так, это поможет вам получить лучший ответ, если вы предоставите эту информацию ...

Если это так, то отличная статья ScottGu о Отображении схемы пользовательских баз данных

Код выглядит примерно так:

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<YourEntityName>().MapSingleType(t => new {
        columnId = t.Id,
        description = t.ProductName // If database column name is description and your entity property name is ProductName
        product_name = t.Description // If it's the other way around...
    }).ToTable("DatabaseTableName");
}
0 голосов
/ 16 июня 2011

В Visual Studio есть экран / панель вызова Mapping Details.По умолчанию он обычно отображается на нижних вкладках рядом со списком ошибок, выходными данными и т. Д., Когда у вас на экране дизайнера открыт «EF4».В представлении конструктора при нажатии на таблицу нижеприведенная панель будет заполнена столбцами (из таблицы базы данных) и значениями / свойствами (из вашего класса).В Значения / Свойства вы можете изменить имя и тип на любое другое, которое вы хотите для своего класса.Я делаю это регулярно, когда администратор базы данных начинает создавать имена столбцов мусора или начинает использовать префиксы в некоторых местах, а не в других.

Надеюсь, это поможет.

РЕДАКТИРОВАТЬ:

Вот пример того, как изменить сложный тип, если действительно нужно, http://blogs.msdn.com/b/wriju/archive/2010/07/26/ef4-complex-type.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...