如何替换表名

时间:2014-03-03 16:20:08

标签: c# asp.net asp.net-mvc asp.net-mvc-4

我需要创建一个带参数的“通用”网格。 问题是在Delete操作中我不能将表作为变量引用 我使用edmx模型。

public ActionResult PartialView_GridCommonDelete(System.Int64 data_autoinc)
{
    var table = ViewBag.CurrentTable;
    var key= ViewBag.Key;

    if (data_autoinc != null)
    {
        try
        {
            //ERROR HERE
            var item = **ent.table**.FirstOrDefault(it => it.product_autoinc == data_autoinc);
            if (item != null)
                ent.tabla.Remove(item);
            ent.SaveChanges();
        }
        catch (Exception e)
        {
            ViewData["EditError"] = e.Message;
        }
    }

    return PartialView("PartialView_GridCommon", ViewBag.CurrentSql);
}

如何动态替换表名,以便我可以将它与许多表一起使用?

谢谢

1 个答案:

答案 0 :(得分:0)

ORM无法实现您要做的事情,即在运行时定义Table。

你可以尝试的是:

context.Database.ExecuteSqlCommand("TRUNCATE TABLE [TableName]");

您可以显式传递表名并激活您的SQL查询

试一试。

由于 Nipun