非常に単純なシナリオがあります。
コードファースト、EF5、デフォルトのモデル規則
私の親クラスにはChildrenのコレクションがあり、これらはすべて抽象的なChildクラスから派生しています。私がConcreteChild1とConcreteChild2を持っているとしましょう。
ConcreteChild1のみを取得しようとするparent.Children.OfType<ConcreteChild1>()
と、約束どおり、結果を使用してConcreteChild1のリストになります。残念ながら、発行されたSQLを調べると、すべての子が実際にDBから取得されたことがわかります。これは、SQLが「whereDiscriminator in('ConcreteChild1')」ではなく、「where Discriminator in('ConcreteChild1')」を発行するためです。
タイプに一致する行のみを取得するにはどうすればよいですか?
ありがとう!