LINQ更新语句使用通用表和列名称

时间:2013-08-15 17:46:55

标签: linq generics parameters

好的,我在创建泛型LINQ语句时看过很多帖子,但这些帖子通常基于select查询。我需要的是一个LINQ UPDATE语句,它接受表更新的通用参数和要更新的列的通用参数。

我正在使用的数据模型有几十个表,每个表可能有几十列。我真正想要的是一个单独的Update语句,它允许我在运行时告诉它哪个表以及要更新的列。

处理这些动态提供的字段的数据类型也是一个问题,因为很明显我无法使用小数值更新DateTime列。

所以,任何人都可以指向一些显示LINQ更新过程的代码,该过程使用表名和列名的通用参数。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

您没有使用DbContext指定实体框架,但如果您正在使用它,这非常简单。编写以下代码以在NerdDinner示例中工作,该示例可以从http://nerddinner.codeplex.com/

下载

此代码根据id定位晚餐,并将address属性设置为“New Value”

        Dinner dinner = db.Set<Dinner>().Find(id);

        var entry = db.Entry(dinner);
        entry.Property("Address").CurrentValue = "New Value";

        db.SaveChanges();