C# 代码-第一个实体框架-继承和导航属性是否可能?

C# 代码-第一个实体框架-继承和导航属性是否可能?,c#,entity-framework,ef-code-first,C#,Entity Framework,Ef Code First,我还没弄明白这个 public abstract class A { public int property1 { get; set; } public int property2 {get; set; } } public class B : A { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Id { get; set; } public IL

我还没弄明白这个

public abstract class A
{
    public int property1 { get; set; }
    public int property2 {get; set; }
}

public class B : A
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    public IList<C> C { get; set; }

}

public class C : A
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int AId { get; set; }

    public int dummyproperty {get; set; }

    public int BId { get; set; }

    [ForeignKey("BId")]
    public virtual B B { get; set; }
}
公共抽象类A
{
公共int属性1{get;set;}
公共int属性2{get;set;}
}
B级:A级
{
[关键]
[数据库生成(DatabaseGeneratedOption.Identity)]
公共int Id{get;set;}
公共IList C{get;set;}
}
公共C类:A
{
[关键]
[数据库生成(DatabaseGeneratedOption.Identity)]
公共int-AId{get;set;}
公共int dummyproperty{get;set;}
公共整数BId{get;set;}
[外键(“投标”)]
公共虚拟B{get;set;}
}
如何让数据库上下文使用这些类B和C构建这两个表?

类程序
class Program
    {
        static void Main(string[] args)
        {
            var context = new MyContext();
            foreach(var b in context.Bs)
            {
                Console.WriteLine(b.ToString());
            }
        }
    }

    public class MyContext : DbContext
    {
        public DbSet<C> Cs { get; set; }
        public DbSet<B> Bs { get; set; }
    }
{ 静态void Main(字符串[]参数) { var context=new MyContext(); foreach(context.Bs中的var b) { Console.WriteLine(b.ToString()); } } } 公共类MyContext:DbContext { 公共数据库集Cs{get;set;} 公共数据库集Bs{get;set;} }
然后在Package Manager控制台中,运行以下命令: 启用迁移 添加迁移初始值 更新数据库

然后在“Configuration.cs”方法种子文件中为B和C添加一些记录。

类程序
{
静态void Main(字符串[]参数)
{
var context=new MyContext();
foreach(context.Bs中的var b)
{
Console.WriteLine(b.ToString());
}
}
}
公共类MyContext:DbContext
{
公共数据库集Cs{get;set;}
公共数据库集Bs{get;set;}
}
然后在Package Manager控制台中,运行以下命令: 启用迁移 添加迁移初始值 更新数据库


然后在“Configuration.cs”方法种子文件中为B和C添加一些记录。

问题出在哪里?我在我的VS2015中测试了你的课程,效果不错。你能提供更多关于错误或困难的细节吗?问题是什么?我在我的VS2015中测试了你的课程,效果不错。你能提供更多关于错误或困难的细节吗?谢谢,我不确定我的问题出在哪里。谢谢,我不知道我的问题出在哪里。我能得到它。