次のようなエンティティ クラスで EF5 Code-first を使用しています。
public class Base {
public int Id { get; set; }
}
public class Derived : Base { // there are other derived types as well
}
次に、派生エンティティを次のように構成します。
var config = new EntityTypeConfiguration<Base>();
config.Map<Derived>(m =>
{
m.MapInheritedProperties();
m.ToTable("derived");
});
DbModelBuilder modelBuilder = ...
modelBuilder.Configurations.Add(config);
私のアプリケーションでは、次のように呼び出します。
new MyDbContext().Set<Derived>().First();
この呼び出しの予想される動作は何ですか?
奇妙なことに、まったく同じように構成された階層に対して一貫性のない動作が発生しているようです。「dbo.Base」を照会しようとするために失敗する場合もあれば、「dbo.Derived」を正しく照会しようとする場合もあります。