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中测试了你的课程,效果不错。你能提供更多关于错误或困难的细节吗?谢谢,我不确定我的问题出在哪里。谢谢,我不知道我的问题出在哪里。我能得到它。