C# 从EF Core中的外键中选择数据

C# 从EF Core中的外键中选择数据,c#,.net-core,entity-framework-core,C#,.net Core,Entity Framework Core,我有一个模型 [Key] [最大长度(30),不允许全部] [必需(AllowEmptyStrings=false,ErrorMessage=“Xin vui lòng nhậpãnh–n viên“)] 公共字符串代码_EMP{get;set;}//MÃNH N VIÊN [最大长度(50),不允许全部] [必需(AllowEmptyStrings=false,ErrorMessage=“Xin vui lòng nhậpên“)] 公共字符串名称_EMP{get;set;}//TÊN NH

我有一个模型

[Key]
[最大长度(30),不允许全部]
[必需(AllowEmptyStrings=false,ErrorMessage=“Xin vui lòng nhậpãnh–n viên“)]
公共字符串代码_EMP{get;set;}//MÃNH N VIÊN
[最大长度(50),不允许全部]
[必需(AllowEmptyStrings=false,ErrorMessage=“Xin vui lòng nhậpên“)]
公共字符串名称_EMP{get;set;}//TÊN NH N VIÊN
[不允许]
[StringLength(最大长度:250,最小长度=6,ErrorMessage=“Bạ北卡罗来纳州ầ新罕布什尔州ậ下午ật khẩu từ 6 đến 20 kýtự!")]
公共字符串PASS\u EMP{get;set;}//MẬT KHẨU
[数据类型(DataType.Date),不允许为空]
公共字符串生日{get;set;}//NGÀY SINH
[数据类型(DataType.EmailAddress,ErrorMessage=“Đ–y khong ph.)ảiđị阿奇ỉ 电子邮件“)]
[不允许]
公共字符串EMAIL_EMP{get;set;}//EMAIL nh–n viên
公共虚拟部门部门{get;set;}
公共虚拟Jobtitle Jobtitle{get;set;}
公共虚拟教育级别教育级别{get;set;}
公共虚拟契约{get;set;}
公共虚拟主机{get;set;}
公共虚拟薪资{get;set;}
每次我创建一个新员工时,我的外键总是空的,并且不会保存到我的数据库中。我该如何处理它


我假设您有一个带有主键和外键的表
Employee

EmployeeID (Primary key)

DepartmentID (Foreign key)
EmployementContractID (Foreign key)
EducationLevelID (Foreign key)
首先,您必须有3个屏幕用于创建部门、员工合同、教育级别。然后,您必须有一个屏幕用于创建新员工


您应该按照约定命名字段,而不是
code\u EMP
Jobtitle
EDUCATIONLEVEL
,您是否已在上下文中声明了表关系

如果没有,则必须在每个关系的上下文中执行类似操作:

public DbSet<Employee> Employees { get; set; }
public DbSet<Department> Departments { get; set; }
    
builder.Entity<Employee>(builder =>
{
builder.HasOne(c => c.Departments)
});
公共数据库集雇员{get;set;}
公共数据库集部门{get;set;}
builder.Entity(builder=>
{
builder.HasOne(c=>c.Departments)
});

请避免用越南语对答案发表评论,这是纯英语资源。此外,该问题缺少有关上下文、实体之间关系等的详细信息。每次我创建一名新员工时,该代码在哪里?哦,对不起,我不知道。我在根据上面创建的模型运行项目后创建了一名新员工。我有3秒creens Department,EmployeeContract,EducationLevel公用字符串代码\u DPM{get;set;}公用字符串名称\u DPM{get;set;}公用字符串地址\u DPM{get;set;}公用字符串电话\u DPM{get;set;}否否,我的意思是运行项目后更改