首页 > 解决方案 > 如何在 EF Core 中使用 select 方法获取所有以前的数据

问题描述

我知道我的问题有点混乱,但让我详细解释一下。
假设我有这样的人员类。

public class Person {
  public int Id {get; set;}  
  public string Name {get; set;}  
}  

我想创建一个新实体,但这两个类相似,所以我想继承并添加一些新属性

public class Employee : Person {
  public string Position {get; set;}
}

一切正常,但是当我想从人员表中选择数据并将其添加到 Employee 类时遇到问题

employee = _context.Person.Select(
              a => new Employee {
              Name = a.Name,
              Position = "Programmer"
            }).ToList();  

所以你可以在这里看到,我想添加 position 属性,但也想从 person 表中获取以前的数据。问题是,我必须手动输入人员表中的先前数据。如果 person 表有很多属性,我需要输入所有属性来获取所有数据。无论如何都可以在不输入所有数据的情况下获取以前的数据。所以在javascript中它有类似的东西

new State = {
...State,
Position : "employee"
} 

是否有可能在 C# 中做这样的事情?

标签: c#asp.net-coreentity-framework-core

解决方案


将员工作为一个实体,您可以使用

var employees = _context.Employee.Include(e=>e.Person).ToList(); 

然后你会这样做employees[0].Person.Name,依此类推。


推荐阅读