2017-10-18 54 views
0

我有一個表具有使用兩列的主鍵(REQIDREQ_SUBID),我有一個觸發器可以生成這些值,但前提是它們沒有定義。在EF表示,我使用DatabaseGenerated屬性C#實體框架 - 將值插入到DatabaseGenerated列

[Key] 
[DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
[Column("REQID", Order = 0)] 
public string RequestId { get; set; } 

[Key] 
[DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
[Column("REQ_SUBID", Order = 1)] 
public int RequestSubId { get; set; } 

,但有時我想在代碼中設置REQID值,並將其保存到數據庫,但如果我嘗試這樣做,我得到這個異常:

ReferentialConstraint中的依賴屬性映射到商店生成的列。列:'REQID'。

這裏有什麼辦法如何解決這個問題?

回答

0

不能使用[DatabaseGenerated(DatabaseGeneratedOption.Identity)上的字符串屬性,如果你需要自動生成UNIC ID可以放置在構造

public class myEntity{ 
    MyEntity(){ 
    RequestId = Guid.NewGuid().ToString(); 
} 
}