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

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

使用實(shí)體框架從只有外鍵的表中刪除一行

使用實(shí)體框架從只有外鍵的表中刪除一行

C#
慕哥6287543 2021-08-07 18:04:50
我有一張桌子User { UserId, Name, Age }和License { LicenseId, Name, IsActive }。另外,我有一個(gè)表UserLicense { UserId, LicenseId },可以連接這兩個(gè)表,并記錄所有持有許可證的用戶。一個(gè)用戶可以持有多個(gè)許可證,這些許可證在UserLicense表中顯示為不同的行?,F(xiàn)在我需要從許可證表中刪除一個(gè)特定的許可證。我不想徹底刪除它,所以我標(biāo)記了IsActive = false. 但是,我確實(shí)想從UserLicense表中刪除該許可證 ID 的行。我正在使用實(shí)體框架。如果它是一個(gè)直接表,我會(huì)做這樣的事情:var lic = db.Licenses.Where(l => l.Id== licenseId).FirstorDefault();db.Licenses.Remove(lic);db.SaveChanges();但是由于UserLicense是外鍵表,實(shí)體框架不允許我直接使用public void DeleteLicensedUsers(Guid LicenseId){    db.UserLicenses.Where()}因?yàn)樵撃P筒话?UserLicense 的獨(dú)立表,因?yàn)樗皇且粋€(gè)外鍵表。那么如何使用 Linq 和 EF6刪除UserLicense特定表的所有行l(wèi)icenseId?
查看完整描述

3 回答

?
PIPIONE

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超9個(gè)贊

我遇到了類似的問題,您可以通過這種方式解決。我?guī)缀鮾A向于避免只使用外鍵的表,而是添加另一列來解決這個(gè)問題。


var license = db.Licenses.Where(l => l.ID == LicenseId).FirstOrDefault();

var users = license.Users.ToList();



if (users != null)

{

    foreach (var user in users)

    {

         license.Users.Remove(user);

    }                   

}


查看完整回答
反對 回復(fù) 2021-08-07
  • 3 回答
  • 0 關(guān)注
  • 185 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)