У меня есть Entity, и я должен настроить Entity Framework, чтобы сопоставить его с таблицей базы данных с другим именем.
Я легко могу сделать это с помощью Code First DataAnnotations ( DataAnnotations.Schema.TableAttribute ).
Но из-за ограничений теперь я должен использовать Code First Fluent API (мои объекты домена будут использоваться внешними клиентами, поэтому они не должны быть привязаны к конкретной технологии - например, иметь какие-либо ссылки на DataAnnotations)
Я искал в MSDN, но ничего не нашел. Так возможно ли это и как?
Спасибо.
Ответы:
Вы будете использовать
.ToTable()
метод:modelBuilder.Entity<Department>().ToTable("t_Department");
Источник: MSDN: http://msdn.microsoft.com/en-us/data/jj591617.aspx
источник
Вы также можете использовать аннотацию таблицы:
[Table("InternalBlogs")] public class Blog
См .: Code First Data Annotations
источник
Используйте метод ToTable:
public class MyEntityMap : EntityTypeConfiguration<MyEntity> { public const string TableName = "MyEntity"; public MyEntityMap() { ToTable(TableName); Property(t => t.Id); } }
источник
OnModelCreating
методе вы должны сделать:modelBuilder.Configurations.Add(new MyEntityMap());
где вместо того, чтобы вы могли просто добавить,modelBuilder.Entity<MyEntity>().ToTable("MyEntityTable");
так что нет, это не самый чистый способ, если у вас также не было другого сопоставления для этого объекта.