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