![](/img/trans.png)
[英]How to configure muliple relationships in fluent api using code first?
[英]How should I configure relationships between these models with Fluent API?
我收到此錯誤“在表 'Tasks' 上引入 FOREIGN KEY 約束 'FK_Tasks_Projects_ProjectId' 可能會導致循環或多個級聯路徑”
項目 class 中的任務可以為空,用戶也可以沒有 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;}
}
為了簡化這一點,我只需將用戶的 id 捕獲為項目和任務的 int (而不是用戶實體)。
public class Task {
public int Id {get; set;}
public int ProjectId {get; set;}
public int PerformerId {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 int 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;}
}
最終我會選擇一個稍微不同的結構,像這樣:
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; }
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.