Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.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
C# 尝试在实体框架(核心)中理解和导航属性_C#_Asp.net_.net_Entity Framework_Navigational Properties - Fatal编程技术网

C# 尝试在实体框架(核心)中理解和导航属性

C# 尝试在实体框架(核心)中理解和导航属性,c#,asp.net,.net,entity-framework,navigational-properties,C#,Asp.net,.net,Entity Framework,Navigational Properties,我有一个关于EF Core中导航属性的问题,我似乎无法解决。如果我有一个表和一个相关表: Person ========= PersonId Name Surname RoleId Role ========= RoleId RoleName 现在我用C实现了它的模型# 这是正确的实现吗?具体来说,我想知道如果我不参加会发生什么 public int? RoleId { get; set; } 从人名表中?那会有区别吗? 另外,如果我将以下内容添加到Role

我有一个关于EF Core中导航属性的问题,我似乎无法解决。如果我有一个表和一个相关表:

Person
=========
PersonId    
Name    
Surname    
RoleId

Role
=========
RoleId
RoleName
现在我用C实现了它的模型#

这是正确的实现吗?具体来说,我想知道如果我不参加会发生什么

    public int? RoleId { get; set; }
从人名表中?那会有区别吗? 另外,如果我将以下内容添加到Role类中,会有什么区别:

public virtual List<Person> Persons {get; set;}
公共虚拟列表人员{get;set;}
这将如何改变情况


谢谢

那么您是先使用代码吗?不,先使用数据库。然后您不应该修改自动生成的代码。嗯,这不是自动生成的代码。我根据现有的数据库手动对模型进行编码。我不能使用migrations/scaffolding,因为它是一个MySQL数据库,而且据我所知,MySQL不支持scaffolding。但无论如何,我的问题更符合理论。我在文章中提供的代码和表无论如何都不是真实的——我只是想更好地理解导航属性,因为从我所读到的所有内容来看,我仍然有一些不确定的地方。
public virtual List<Person> Persons {get; set;}