c# - 如何在 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# 中做这样的事情?
解决方案
将员工作为一个实体,您可以使用
var employees = _context.Employee.Include(e=>e.Person).ToList();
然后你会这样做employees[0].Person.Name
,依此类推。
推荐阅读
- linux-kernel - 在 Linux 中暂停 kthread
- telegram - Telethon MessageMediaDocument MD5
- wpf - 如何使用 DataTemplate 为 ListBox 设置模板
- css - Bootstrap 4:col 与右 col 和图像填充 col 大小相同
- html - 如何从 html 按钮调用函数 - Django
- python-3.x - 从网站下载多个 csv 文件并转换为一个文件
- c# - c# Visual Studio 使用 settings.settings 进行 mysql 连接
- ruby-on-rails - 对象 0x7faa4d081f98 的错误:未分配被释放的指针 Ruby (ROR) malloc_error_break
- post - RestXQ [XPTY0004] 无法将空序列()转换为文档节点()
- android - 反序列化包含泛型对象的泛型对象