如何使用Linq

时间:2018-09-07 08:19:07

标签: c# entity-framework linq

我陷入了我的逻辑需要改进的情况,这是我试图做到的。 情况是我们都知道如何更新像这样的列的详细信息。

Person result = (from p in Context.Persons
          where p.person_id == 5
          select p).SingleOrDefault();

result.is_default = false;

Context.SaveChanges();

好的,一切都很好!

现在假设我在会话is_default中有一个值,即表的列名。

如何使用该值更新列,如下所示:

update table name set "Session value" = true 

此处的会话值为is_default,这是表的列名。使用EF和LINQ可以做到这一点吗?

1 个答案:

答案 0 :(得分:4)

您可以使用反射的概念,如下所示

Person result = (from p in Context.Persons
          where p.person_id == 5
          select p).SingleOrDefault();

PropertyInfo propertyInfo = result.GetType().GetProperty("Session value");
propertyInfo.SetValue(result , true, null);