に私はこのモデルを達成したい:
Entity Frameworkのコード:1-ゼロ、1対または会合派生オブジェクト
私は多くの方法をしようとしてきたが、何も動作。たとえば、コードは次のようになります。
public class MyContext : DbContext
{
public DbSet<Animal> Animals { get; set; }
public DbSet<Cage> Cages { get; set; }
}
public class Cage
{
public int CageID { get; set; }
public Bird Bird { get; set; }
}
public abstract class Animal
{
public int AnimalID { get; set; }
public string Name { get; set; }
}
public class Bird : Animal
{
[ForeignKey("Cage")]
public int CageID { get; set; }
public Cage Cage { get; set; }
}
public class Shark : Animal
{
public int AquariumID { get; set; }
}
ありがとうございました。
それから私は、エラー 'EntityType「アニマル」は何のキー定義されていません取得します。このEntityTypeのキーを定義します.'私のコードスニペットで何か他のものを変更しましたか? – Feofilakt
@Feofilakt今、Animal abstractクラスを追加しました。もう一度やってみてください。 – arslanaybars
いいえ、考え方は、どの動物にもCageプロパティがないことです。たとえば、サメはケージではなく、アクアリウム – Feofilakt