Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 实体框架7 beta 4中每种类型的表继承_Entity Framework_Asp.net Core_Entity Framework Core - Fatal编程技术网

Entity framework 实体框架7 beta 4中每种类型的表继承

Entity framework 实体框架7 beta 4中每种类型的表继承,entity-framework,asp.net-core,entity-framework-core,Entity Framework,Asp.net Core,Entity Framework Core,我正在使用EntityFramework7Beta4,需要映射到现有数据库 数据库对每个类型层次结构使用一个表,类似于本文() 下面是一个简单的例子: public abstract class Person { // SQL Table: Person // SQL Columns: PersonId, Name public long PersonId { get; set; } public string Name { get; set; } //

我正在使用EntityFramework7Beta4,需要映射到现有数据库

数据库对每个类型层次结构使用一个表,类似于本文()

下面是一个简单的例子:

public abstract class Person
{
    // SQL Table: Person
    // SQL Columns: PersonId, Name
    public long PersonId { get; set; }
    public string Name { get; set; }
    // This column would contain 'STUDENT' or 'PARENT'
    public string PersonType { get; set; }
}

public class Student : Person
{
    // SQL Table: Person_Student
    // SQL Columns: PersonId, GPA
    public decimal GPA { get; set; }
}

public class Parent : Person
{
    // SQL Table: Person_Parent
    // SQL Columns: PersonID, EmergencyContactNumber
    public string EmergencyContactNumber { get; set; }
}

public class PersonTestDb : DbContext
{
    public DbSet<Person> People { get; set; }
}
公共抽象类人物
{
//SQL表:Person
//SQL列:PersonId,Name
公共长人形ID{get;set;}
公共字符串名称{get;set;}
//此列将包含“学生”或“家长”
公共字符串PersonType{get;set;}
}
公营班级学生:人
{
//SQL表:Person\u Student
//SQL列:PersonId,GPA
公共十进制GPA{get;set;}
}
公共类家长:个人
{
//SQL表:Person\u Parent
//SQL列:PersonID、EmergencyContactNumber
公共字符串EmergencyContactNumber{get;set;}
}
公共类PersonTestDb:DbContext
{
公共数据库集人物{get;set;}
}
尝试查询数据库集时,出现以下错误:


无法绑定传递给Include运算符的表达式“[100001].People”。

我们仍在处理继承。(见问题)部分实施了TPH/STI,但未实施TPT。现在,您可以在表和类之间进行直接映射。比如:

class Person
{
    // Null when Parent
    public Student Student { get; set; }

    // Null when Student
    public Parent Parent { get; set; }
}

class Student
{
    public int PersonId { get; set; }
    public Person Person { get; set; }
}

class Parent
{
    public int PersonId { get; set; }
    public Person Person { get; set; }
}

我们还在研究继承。(见问题)部分实施了TPH/STI,但未实施TPT。现在,您可以在表和类之间进行直接映射。比如:

class Person
{
    // Null when Parent
    public Student Student { get; set; }

    // Null when Student
    public Parent Parent { get; set; }
}

class Student
{
    public int PersonId { get; set; }
    public Person Person { get; set; }
}

class Parent
{
    public int PersonId { get; set; }
    public Person Person { get; set; }
}

我们还在研究继承。(见问题)部分实施了TPH/STI,但未实施TPT。现在,您可以在表和类之间进行直接映射。比如:

class Person
{
    // Null when Parent
    public Student Student { get; set; }

    // Null when Student
    public Parent Parent { get; set; }
}

class Student
{
    public int PersonId { get; set; }
    public Person Person { get; set; }
}

class Parent
{
    public int PersonId { get; set; }
    public Person Person { get; set; }
}

我们还在研究继承。(见问题)部分实施了TPH/STI,但未实施TPT。现在,您可以在表和类之间进行直接映射。比如:

class Person
{
    // Null when Parent
    public Student Student { get; set; }

    // Null when Student
    public Parent Parent { get; set; }
}

class Student
{
    public int PersonId { get; set; }
    public Person Person { get; set; }
}

class Parent
{
    public int PersonId { get; set; }
    public Person Person { get; set; }
}

看起来TpT已经被推迟,并且不会出现在第一个版本中。希望它在发布后会很快出现。这里从未使用过Parent。。。您的意思是在Person类中有
公共父类
?@bricelam感谢您的更新。有消息吗?我即将开始一个新的ASP.NET项目,TPT是一项要求。我的问题是我可以将ASP.NET内核与EF6一起使用吗?那包裹呢?是否有任何基于NuGet的官方替代方案?看起来TpT已经被推迟,并且不会出现在第一个版本中。希望它在发布后会很快出现。这里从未使用过Parent。。。您的意思是在Person类中有
公共父类
?@bricelam感谢您的更新。有消息吗?我即将开始一个新的ASP.NET项目,TPT是一项要求。我的问题是我可以将ASP.NET内核与EF6一起使用吗?那包裹呢?是否有任何基于NuGet的官方替代方案?看起来TpT已经被推迟,并且不会出现在第一个版本中。希望它在发布后会很快出现。这里从未使用过Parent。。。您的意思是在Person类中有
公共父类
?@bricelam感谢您的更新。有消息吗?我即将开始一个新的ASP.NET项目,TPT是一项要求。我的问题是我可以将ASP.NET内核与EF6一起使用吗?那包裹呢?是否有任何基于NuGet的官方替代方案?看起来TpT已经被推迟,并且不会出现在第一个版本中。希望它在发布后会很快出现。这里从未使用过Parent。。。您的意思是在Person类中有
公共父类
?@bricelam感谢您的更新。有消息吗?我即将开始一个新的ASP.NET项目,TPT是一项要求。我的问题是我可以将ASP.NET内核与EF6一起使用吗?那包裹呢?是否有任何基于NuGet的官方替代方案?