5
如果我有一個User
類具有以下屬性:EF代碼首先,地圖兩個導航屬性相同的對象類型
public Guid UserPreferenceId { get; set; }
public virtual DefaultUserPreference UserPreference { get; set; }
public Guid SecondaryUserPreferenceId { get; set; }
public virtual DefaultUserPreference SecondaryUserPreference { get; set; }
我如何能得到這個通過流暢的API做什麼呢?當我嘗試運行它時,它說:
在表'用戶'上引入FOREIGN KEY約束可能會導致循環或多個級聯路徑。指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY約束。 無法創建約束。查看以前的錯誤。
我見過其中的一些問題,但它們總是涉及一個導航屬性和一個集合。此外,這種關係是單向的,但如果必須是雙向的,那麼它可能是雙向的,不確定這是否重要。
好了,所以我必須使它雙向呢? – SventoryMang
不,更新了一個沒有雙向工作的答案。你只需要改變流暢的配置線,以適合你想要的。 – Richard
這造成:多重性與'DefaultUser_DefaultUserPreference_Target'中'DefaultUser_DefaultUserPreference'關係中的參照約束衝突。由於從屬角色中的所有屬性都是不可空的,所以主體角色的多重性必須爲'1'。它做了「工作」(不是拋出一個錯誤),當我使它成爲雙向的,但SecondaryUserPreferenceId沒有被設置爲FK鍵。 – SventoryMang