簡體   English   中英

使用實體框架將記錄插入表中

[英]Insert record into the table using Entity Framework

我有一個DbContext對象,該對象具有一個名為“ Employees”的表。

我有一個雇員對象,我想插入到Employees表中。

我不能直接從上下文中使用Employees 我想使用表名訪問:這可能嗎?

 MyContext _ctx;
 Type employee = a.GetType("SC.Employee"));
 object employee = Newtonsoft.Json.JsonConvert.DeserializeObject(emp, employee);

 using (_ctx = new MyContext())
 {
     //I am trying to insert the employee object to my entity. But this doesn't work
     //_customCtx["Employees"].add(employee);
 }

如果我理解您的問題,您想先將Json反序列化為Employee對象,然后將其保存到您的上下文中嗎?

我建議你做這樣的事情

Employee myNewEmployee = JsonConvert.DeserializeObject<Employee>(json_string);

using (var _ctx = new MyContext())
{
   _ctx.Employee.Add(myNewEmployee);
}

即使正如您所說,“我想根據接收到的json對象在運行時決定實體”,您也需要使用表employees作為入口點。

因此,在上下文中添加DbSet<Employee> Employees

然后,如果必須動態確定要使用的實體,則可以使用反射在MyContext類型上搜索“ Employees”,然后使用所選的實體(可能使用動態實體)。 但是您通常只有有限的一組實體可以使用,那么為什么不寫ifs選擇與正確的實體一起使用呢?

順便說一句,這感覺就像您在另一層或其他地方沒有正確地構造事物

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM