第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Entity Framework Core 將記錄插入數(shù)據(jù)庫

Entity Framework Core 將記錄插入數(shù)據(jù)庫

C#
侃侃爾雅 2023-08-20 11:03:28
我在我的項目中使用 Entity Framework Core。我的實體看起來像這樣:[Table("Policy")]public class Policy{    [Key]    public Guid Id { get; set; }        public Bank Bank { get; set; }              public string LastUpdateBy { get; set; }    }[Table("Bank")]public class Bank{    [Key]    public Guid Id { get; set; }        public string Code { get; set; }        public DateTime? CreateTs { get; set; } }在 SQL 中,表如下所示Policy:Id (uniqueidentifier)Bank (varchar)LastUpdateBy (varchar)我Bank在Policy實體中引用是因為我想建立父子關系。當我嘗試在Policy表中添加記錄時,出現(xiàn)以下錯誤違反主鍵約束“PK_Bank”。無法在對象“dbo.Bank”中插入重復的鍵。重復的鍵值為 (829e0798-c7ee-4fcf-b18d-0fbc60f63fad)。這是我的代碼:var policy = new Policy{    Bank = new Bank    {        Id = "829e0798-c7ee-4fcf-b18d-0fbc60f63fad"    },    Id = Guid.NewGuid(),    LastUpdateBy = "User"};dbContext.Policy.Add(policy);dbContext.SaveChanges();我知道,它也試圖在表中添加一條記錄Bank。我如何告訴 EF Core 僅在表中插入記錄Policy?
查看完整描述

2 回答

?
紅顏莎娜

TA貢獻1842條經(jīng)驗 獲得超13個贊

銀行是一個按規(guī)定存在的實體(單一),銀行不會改變,它的屬性是它自己的。保單由銀行發(fā)行,因此,保單應通過銀行 Guid 或 ID 屬性(外鍵)引用銀行,這將創(chuàng)建您想要的父 -> 子關系。這是一種ONE-TO-MANY關系。我認為您可能想要花更多時間學習數(shù)據(jù)庫關系設計,或者在創(chuàng)建實體類之前將這些內(nèi)容繪制在紙上。

編輯:伊戈爾給了你一個選擇,堅持到底,不改變你的實體,但我認為你應該認真考慮以反映數(shù)據(jù)庫關系設計的方式構建你的實體。只是我的觀點。


查看完整回答
反對 回復 2023-08-20
?
收到一只叮咚

TA貢獻1821條經(jīng)驗 獲得超5個贊

如果您不想引入外鍵,Bank則必須先附加銀行。


var bank = new Bank

{

    Id = "829e0798-c7ee-4fcf-b18d-0fbc60f63fad"

};

dbContext.Bank.Attach(bank);


var policy = new Policy

{

    Bank = bank,

    Id = Guid.NewGuid(),

    LastUpdateBy = "User"

};


dbContext.Policy.Add(policy);

dbContext.SaveChanges();


查看完整回答
反對 回復 2023-08-20
  • 2 回答
  • 0 關注
  • 155 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號