C# 我应该如何使用Fluent API配置这些模型之间的关系?
我得到了这个错误“在表“Tasks”上引入外键约束“FK\u Tasks\u Projects\u ProjectId”可能会导致循环或多个级联路径” 项目类中的任务可以为空,用户也可以不带TeamIdC# 我应该如何使用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
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;}
}