[英]Insert/Delete/Update inside a dynamic table name in mvc using Entity Framework
我为每个插入/更新/删除都有一个JsonResult代码,如下所示。 现在,我想问是否可以将Id和TableName传递给从传递的TableName更新和删除。 还可以通过这种方式编写插入查询吗?
所以我的JsonResult是这样的:
public JsonResult DeleteFromTable()
{
int IDtoDelete = Convert.ToInt32(Request.Form["itemId"]);
string MyTableName = Convert.ToString(Request.Form["TblName"]);
try
{
Type tableType = typeof(CourseDesc);
switch (MyTableName)
{
case "CourseTbl":
tableType = typeof(CourseTbl);
break;
case "CourseDescTbl":
tableType = typeof(CourseDesc);
break;
case "CourseSubDesc":
tableType = typeof(CourseSubDesc);
break;
case "InternTbl":
tableType = typeof(InternShip);
break;
case "ContactTbl":
tableType = typeof(Contact);
break;
}
using (EBContext db = new EBContext())
{
// Want To Add Insert/Update/Delete Code here.
return new JsonResult { Data = results, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}
}
catch(Exception ex) {
string innerMessage = (ex.InnerException != null) ? ex.InnerException.Message : "";
return new JsonResult { Data = "Not Found", JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}
}
我无法弄清楚的是如何为插入/更新/删除编写EF查询。 请帮忙!!
对于您的情况,我有这种方法:首先,我创建一个通用类,如:
internal class UtilityMethods<TEntity, Tid> where TEntity : class
{
public static bool InsertEntity(Entities dbContext, TEntity entity)
{
dbContext.Entry(entity).State = EntityState.Added;
dbContext.Set<TEntity>().Add(entity);
dbContext.SaveChanges();
return true;
}
}
然后我根据要处理的类使用此静态方法:
case "CourseTbl":
results = UtilityMethods<CourseTbl, int>.InsertEntity(dbContext, myObject);
break;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.