0
在我的ASP.Net核心(1.1)Web API中,我有兩個模型:任務和特徵。最初我創建了一個或多個任務,然後我可以將它們中的幾個組合成一個功能。使用EntityFramework Core創建沒有父項目的子項核心
爲此,我寫了我的模型如下:
public class User_Task
{
[Key]
public long TaskId { get; set; }
public string What { get; set; }
[ForeignKey("FeatureId")]
public long FeatureId { get; set; }
public User_Task()
{
}
}
和特點:
public class Feature
{
[Key]
public long FeatureId { get; set; }
public string Analyst_comment { get; set; }
public virtual ICollection<User_Task> Tasks { get; set; }
public Feature()
{
}
}
現在的問題是:我不先創建一個功能能夠創建任務 - 我嘗試將featureId作爲0或null傳遞給任務的POST請求,但它失敗(對於null,我得到錯誤的請求,對於0它拋出異常)。
我應該在模型或控制器或回購課程中修改哪些內容來處理這種情況?
謝謝!這工作,但它拋出了異常MySqlException:創建一個功能時,鍵'PRIMARY'的重複條目'3' – Nitish
這意味着該功能(ID爲3)已經存在。當創建一個功能時,您必須**不**設置'FeatureId',即如果您執行了'新功能{Id = 3}'並添加它。相反,你首先需要加載它並修改加載的實體或者首先附加它,使用'dbcontext.Attach(feature)' – Tseng
那麼在我的數據庫中目前還沒有功能,而且我的Swagger API建議我傳遞featureId = 0而功能創建,基本上適用於創建任務。數字3實際上是指taskId!所以基本上任務與taskId 3存在,它不讓我創建一個功能,該任務與該ID是3 – Nitish