[英]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.