【发布时间】:2019-02-24 16:32:55
【问题描述】:
我目前在将数据保存到我的数据库时有很多 if 语句,因为列是动态变化的。如果我可以使用“名称”字符串来动态更改我也需要保存的列,我的代码会更有效率。
if (String.Compare(name, "MWSAccessKeyID", StringComparison.Ordinal) == 0)
{
var DBobj = db.AccountsConfigDatas.Find(0);
DBobj.MWSAccessKeyID = NewValue;
db.Entry(DBobj).State = EntityState.Modified;
db.SaveChanges();
}
我尝试过的: 我已经研究了这个话题几个小时。我相信我使用了错误的搜索词,因为那里没有很多。我尝试使用 LINQ 中的名称字符串查找列。
var Column = DBobj
.Where(e == name)
.Select(e)
.FirstOrDefault();
DBobj.Column = NewValue;
db.Entry(DBobj).State = EntityState.Modified;
db.SaveChanges();
来自社区的任何建议或文档都会非常有帮助。
【问题讨论】:
-
你应该展示更大的图景。为什么要应用这些每个属性的更新?更新说明从何而来,以何种形式出现?
-
我正在使用 x 可编辑 js 在 razer 视图中对数据进行内联编辑。
-
我不明白这如何让您按名称更新单个属性。我什至认为你把这种方法弄得太复杂了。
-
这是唯一的方法......对吗? vitalets.github.io/x-editable/docs.html
-
我无法想象任何自尊的 javascript 库都会强迫您通过名称服务器端更新单个实体属性。我不会阅读所有这些文档,但你一定做错了什么。
标签: c# entity-framework linq lambda