【问题标题】:How to refactor sql query in a foreach [closed]如何在foreach中重构sql查询[关闭]
【发布时间】:2012-11-18 17:07:00
【问题描述】:

这是我的有效代码:

foreach (var r in rlist)
    {
        if (r.IndexOf("_") != -1)
        {
            int id = int.Parse(r.Split('_')[1]);
            var x_tmp = (from x in db.tblX where x.x_id == my_id && x.x_id == id select x).First();
            x_tmp.order = someNumber;
        }
     }
     db.SaveChanges();

有没有办法重构这个?

【问题讨论】:

标签: c# linq refactoring


【解决方案1】:
foreach(var x_tmp in db.tblX.Where(x => rlist.Where(r => r.indexOf("_") != -1).Select(r => Convert.ToInt32(r.Split('_')[1])).Contains(x.x_id)))
     x_tmp = someNumber;
db.SaveChanges();

什么是“my_id”?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-07
    • 1970-01-01
    相关资源
    最近更新 更多