Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.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# 我应该如何使用Fluent API配置这些模型之间的关系?_C#_Database_Entity Framework Core_Asp.net Core Webapi_Fluent - Fatal编程技术网

C# 我应该如何使用Fluent API配置这些模型之间的关系?

C# 我应该如何使用Fluent API配置这些模型之间的关系?,c#,database,entity-framework-core,asp.net-core-webapi,fluent,C#,Database,Entity Framework Core,Asp.net Core Webapi,Fluent,我得到了这个错误“在表“Tasks”上引入外键约束“FK\u Tasks\u Projects\u ProjectId”可能会导致循环或多个级联路径” 项目类中的任务可以为空,用户也可以不带TeamId public class Task { public int Id {get; set;} public int ProjectId {get; set;} public int PerformerId {get; set;} public User Perfo

我得到了这个错误“在表“Tasks”上引入外键约束“FK\u Tasks\u Projects\u ProjectId”可能会导致循环或多个级联路径”

项目类中的任务可以为空,用户也可以不带TeamId


public class Task {
    public int Id {get; set;}
    public int ProjectId {get; set;}
    public int PerformerId {get; set;}
    public User Performer {get; set;}
}

public class Project {
    public int Id {get; set;}
    public int AuthorId {get; set;}
    public int TeamId {get; set;}
    public List<Task> Tasks {get; set;}
    public User Author {get; set;}
    public Team Team {get; set;}
}

public class Team {
    public int Id {get; set;}
}

public class User {
    public int Id {get; set;}
    public int ?TeamId {get; set;}
}

公开课任务{
公共int Id{get;set;}
公共int ProjectId{get;set;}
公共int PerformerId{get;set;}
公共用户执行者{get;set;}
}
公共类项目{
公共int Id{get;set;}
公共int AuthorId{get;set;}
public int TeamId{get;set;}
公共列表任务{get;set;}
公共用户作者{get;set;}
公共团队{get;set;}
}
公开课小组{
公共int Id{get;set;}
}
公共类用户{
公共int Id{get;set;}
public int?TeamId{get;set;}
}

这里也有类似的帖子:

为了简化这一点,我只需要在项目和任务(而不是用户实体)中将用户id捕获为int

公共类任务{
公共int Id{get;set;}
公共int ProjectId{get;set;}
公共int PerformerId{get;set;}
}
公共类项目{
公共int Id{get;set;}
公共int AuthorId{get;set;}
public int TeamId{get;set;}
公共列表任务{get;set;}
公共int作者{get;set;}
公共团队{get;set;}
}
公开课小组{
公共int Id{get;set;}
}
公共类用户{
公共int Id{get;set;}
public int?TeamId{get;set;}
}
最终,我会选择一个稍微不同的结构,比如:

public class Task
{
    public int TaskID { get; set; }
    public int ProjectID { get; set; }
    public int PerformerID { get; set; }
}

public class Project
{
    public int ProjectID { get; set; }
    public int AuthorID { get; set; }
    public int TeamID { get; set; }
    public List<Task> Tasks { get; set; }
    public Team Team { get; set; }
}

public class Team
{
    public int TeamID { get; set; }
}

public class User
{
    public int UserID { get; set; }
    public List<Team> Teams { get; set; }
}
公共类任务
{
public int TaskID{get;set;}
公共int ProjectID{get;set;}
公共int PerformerID{get;set;}
}
公共类项目
{
公共int ProjectID{get;set;}
公共int AuthorID{get;set;}
public int TeamID{get;set;}
公共列表任务{get;set;}
公共团队{get;set;}
}
公开课小组
{
public int TeamID{get;set;}
}
公共类用户
{
public int UserID{get;set;}
公共列表组{get;set;}
}

这里也有类似的帖子:

为了简化这一点,我只需要在项目和任务(而不是用户实体)中将用户id捕获为int

公共类任务{
公共int Id{get;set;}
公共int ProjectId{get;set;}
公共int PerformerId{get;set;}
}
公共类项目{
公共int Id{get;set;}
公共int AuthorId{get;set;}
public int TeamId{get;set;}
公共列表任务{get;set;}
公共int作者{get;set;}
公共团队{get;set;}
}
公开课小组{
公共int Id{get;set;}
}
公共类用户{
公共int Id{get;set;}
public int?TeamId{get;set;}
}
最终,我会选择一个稍微不同的结构,比如:

public class Task
{
    public int TaskID { get; set; }
    public int ProjectID { get; set; }
    public int PerformerID { get; set; }
}

public class Project
{
    public int ProjectID { get; set; }
    public int AuthorID { get; set; }
    public int TeamID { get; set; }
    public List<Task> Tasks { get; set; }
    public Team Team { get; set; }
}

public class Team
{
    public int TeamID { get; set; }
}

public class User
{
    public int UserID { get; set; }
    public List<Team> Teams { get; set; }
}
公共类任务
{
public int TaskID{get;set;}
公共int ProjectID{get;set;}
公共int PerformerID{get;set;}
}
公共类项目
{
公共int ProjectID{get;set;}
公共int AuthorID{get;set;}
public int TeamID{get;set;}
公共列表任务{get;set;}
公共团队{get;set;}
}
公开课小组
{
public int TeamID{get;set;}
}
公共类用户
{
public int UserID{get;set;}
公共列表组{get;set;}
}