public class Row {
public int Id {get;set;}
public string Name {get;set;}
}
public class ExtendedRow : Row {
public int Weight {get;set;}
}
のクラスはそれぞれ、独自のビューにマップする必要があり、ExtendedRow
ビューは、すべての列がありますが表示されます。
私の構成は次のとおりです。
modelBuilder.Entity<Row>().Map(m => {
m.MapInheritedProperties();
m.ToTable("Row");
});
modelBuilder.Entity<ExtendedRow >().Map(m => {
m.MapInheritedProperties();
m.ToTable("ExtendedRow");
});
照会ExtendedRow
だけで結構です。しかし、を照会するには、次のSQLを生成します。
SELECT
[Extent1].[Id] AS [Id],
[Extent1].[Name] AS [Name]
FROM [dbo].[Row] AS [Extent1]
UNION ALL
SELECT
[Extent2].[Id] AS [Id],
[Extent2].[Name] AS [Name]
FROM [dbo].[ExtendedRow] AS [Extent2]
はなぜEFはUNION ALL
演算子を追加しますか?どうすれば修正できますか?