TPT, отображающий Entity Framework CTP4, ведущий себя как TPH - PullRequest
1 голос
/ 31 октября 2010

Я пишу свой код в соответствии с предложением,

public class A 
{
    public int id {get;set;}
    public string Astring {get;set;}
}

public class B : A
{
    public string Bstring {get;set;}
}

builder.Entity<A>().MapHierarchy( u=> new { ... }).ToTable("A");
builder.Entity<B>().MapHierarchy( u=> new { ... }).ToTable("B");

... = У меня есть все упомянутые свойства и u.Id в обоих.

У меня также есть DbSet<A> A {get;set;} иСвойства DbSet<B> B {get;set;} и ObjectSet для обоих при использовании построителя моделей

builder.Entity<A>
builder.Entity<B>

В результате таблица A создается со столбцом дискриминатора и Id, Astring, Bstring.Это отображение TPH по умолчанию, не знаю, почему это происходит.Спасибо

1 Ответ

0 голосов
/ 31 октября 2010

http://blog.cincura.net/231783-ultimate-efv4-ctp4-code-first-full-mapping-example-using-firebird/

Автор, переводчик в приведенном выше примере имеет правильное решение TPT, почему-то пример на

http://romiller.com/2010/09/29/ef-ctp4-tips-tricks-code-first-inheritance-mapping/

у меня не работает

...