Как сопоставить имена таблиц и имена столбцов, отличные от модели в методе onmodelcreating в Entity Framework -6?
У меня есть моя база данных с именами таблиц, начинающимися с префикса" tbl "и имен столбцов, таких как" ua_id", которые понятны в контексте проекта, но проблематичны при использовании в модели i.e имена должны быть удобочитаемыми или значимыми(не такими, как ориентировочные имена, определенные в базе данных).
поэтому я хочу отобразить их в моем методе onmodelcreating, но я понятия не имею об этом. Я изучил его в следующем blog:
http://weblogs.asp.net/scottgu/entity-framework-4-code-first-custom-database-schema-mapping
но это для EF 4.1, а метод не работает для EF 6.(метод mapsingletype)
Я хочу сопоставить свои таблицы по столбцам с моей моделью, поскольку я не могу изменить имена столбцов. Мне просто нужна более новая версия этого синтаксиса в блоге.
Спасибо.
3 ответов
Если вы сначала используете код, вы можете просто украсить свою модель атрибутом таблицы и столбца и дать ей имена баз данных.
[Table("tbl_Student")]
public class Student
{
[Column("u_id")]
public int ID { get; set; }
}
эти атрибуты доступны в системе.ComponentModel.DataAnnotations.Пространство имен схемы
вы можете продолжать следовать внутри OnModelCreating
modelBuilder.Entity<MyModel>()
.Property(e => e.MyColumn).HasColumnName("DBColumn")
и если вы не используете code-first, просто выберите таблицу на диаграмме модели, нажмите F4 (свойства) и измените имя.