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

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

在實體框架中插入多對多的鏈接表

在實體框架中插入多對多的鏈接表

C#
大話西游666 2022-10-23 16:44:43
我有 3 張桌子Operator OperatorWarehouse 倉庫|   Operators   |     |   OperatorsWarehouses  |     |   Warehouses  ||   OperatorID  |  -  |        OperatorID      |  -  |   WarehouseID ||   EmployeeID  |     |        WarehouseID     |     |   Warehouse   |所以基本上在我的實體框架中,“OperatorsWarehouses”表沒有出現(xiàn)......Warehouses 表中已經(jīng)有數(shù)據(jù)了,我只需要插入 Operators 和 OperatorsWarehouses 來建立關(guān)系。這是我的代碼using (InventoryContext db = new InventoryContext ()){   Employee employee = new Employee();   employee.EmployeeID = Convert.ToInt32(ddlOperators.SelectedValue);   var operator = new Operator();   operator.EmployeeID = employee.EmployeeID ;   db.Operator.Add(operator);   db.SaveChanges();                          ddlOperators.DataBind();}                    我已經(jīng)試過了operator.Warehouses.Add(new Warehouse());但這將插入到倉庫表中,我不想這樣做,我只想在該表上插入運算符
查看完整描述

3 回答

?
慕哥9229398

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

您應(yīng)該為 Operator 的 Warehouse 提供 Id,如果您添加的 Warehouse 的 id 為 0,則它被認為是一個新的 Warehouse。您可以在 UI 中為用戶在添加操作員后選擇的倉庫添加下拉列表。


using (InventoryContext db = new InventoryContext ())

 {

   Employee employee = new Employee();

   employee.EmployeeID = Convert.ToInt32(ddlOperators.SelectedValue);

   var wareHouseId = Convert.ToInt32(ddlWarehouses.SelectedValue);

   var operator = new Operator();

   operator.EmployeeID = employee.EmployeeID ;

   operator.Warehouses.add(new Warehouse(){Id=wareHouseId});

   db.Operator.Add(operator);


   db.SaveChanges();                       

   ddlOperators.DataBind();

}         


查看完整回答
反對 回復(fù) 2022-10-23
?
炎炎設(shè)計

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

添加[NotMapped]您的定義表:

像這樣的東西

[NotMapped]
public List<Warehouse> Warehouses;


查看完整回答
反對 回復(fù) 2022-10-23
?
30秒到達戰(zhàn)場

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

當(dāng)它是“純”多對多關(guān)系時,實體框架將隱藏關(guān)系表。所以你不會看到OperatorsWarehouses表,它將由 EF 處理。


要添加關(guān)系,您只需將實體添加到實體,因此您可以將操作員添加到倉庫,也可以將倉庫添加到操作員。


在您的特定情況下,您需要將現(xiàn)有倉庫添加到操作員,或?qū)F(xiàn)有操作員添加到倉庫。像這樣的東西:


 int whId = 1; //warehouse with id 1

 db.Warehouses.FirstOrDefault(x => x.WarehouseID ==

 whId ).Operators.Add(operator);

注意:注意 FirstOrDefault 如果沒有 id 為 1 的倉庫,它將返回 null


查看完整回答
反對 回復(fù) 2022-10-23
  • 3 回答
  • 0 關(guān)注
  • 153 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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