【发布时间】:2019-12-23 18:42:38
【问题描述】:
我正在使用实体框架来操作数据库,我想知道是否可以使用变量来调用方法
我尝试过这种方式:
string name = "tableName";
db.[name].AddRange(dates.[name]);
但是没用
我想以这种方式调用一个方法,因为我要在不同的表中进行多次插入。我想使用一个包含所有表名称的数组或某个集合。
然后迭代集合
public ActionResult MetodoRecibe(Reporte datas)
{
string name = "tableName";
db.tableName.AddRange(datos.tableName);
db.SaveChanges();
return Json(datas, JsonRequestBehavior.AllowGet);
}
我的变量数据是Json,结构如下:
datas{
nameTable1[],
nameTable2[],
nameTable3[],
.
.
.
.
nameTable13
}
我曾考虑使用switch case 作为最后的手段,但由于表的数量,我更愿意使用第一个选项。
【问题讨论】:
-
如果您需要 AddRange() 功能并且不想使用传统循环,请尝试创建一个扩展方法 AddRange
来满足您的需求。 -
您可以使用reflection。另一种方法是创建一个字典,允许您通过表名调用特定的委托。
-
EF6 在 .Conttext.tt 上说的
标签: c# asp.net entity-framework entity-framework-6