我陷入了我的逻辑需要改进的情况,这是我试图做到的。 情况是我们都知道如何更新像这样的列的详细信息。
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可以做到这一点吗?
答案 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);