Mam Entity i mam skonfigurować Entity Framework, aby zamapować go na tabelę bazy danych o innej nazwie.
Mogę to łatwo zrobić za pomocą Code First DataAnnotations ( DataAnnotations.Schema.TableAttribute ).
Ale ze względu na ograniczenia teraz muszę używać Code First Fluent API (moje obiekty domeny będą używane przez klientów zewnętrznych, więc nie powinny być specyficzne dla technologii - np. Mieć odniesienia do DataAnnotations)
Szukałem w witrynie MSDN, ale nic nie znalazłem. Czy to możliwe i jak?
Dziękuję Ci.
Odpowiedzi:
Użyjesz
.ToTable()
metody:modelBuilder.Entity<Department>().ToTable("t_Department");
Źródło: MSDN: http://msdn.microsoft.com/en-us/data/jj591617.aspx
źródło
Możesz również użyć adnotacji tabeli:
[Table("InternalBlogs")] public class Blog
Zobacz: Adnotacje danych Code First
źródło
Użyj metody ToTable:
public class MyEntityMap : EntityTypeConfiguration<MyEntity> { public const string TableName = "MyEntity"; public MyEntityMap() { ToTable(TableName); Property(t => t.Id); } }
źródło
OnModelCreating
metodzie musisz zrobić:modelBuilder.Configurations.Add(new MyEntityMap());
zamiast tego mógłbyś po prostu dodaćmodelBuilder.Entity<MyEntity>().ToTable("MyEntityTable");
więc nie, to nie jest bardziej przejrzysty sposób, chyba że masz również inne mapowanie do wykonania dla tej encji.