Стоит ли LINQifying для моего кода получить доступ к переменной foreach в замыкании?

Напоминает название бутлег-лайв-записи Rolling Stones прошлых лет, Resharper острее, чем я »когда-нибудь буду; когда я проверил мой код, он сказал мне об закрытиях:

1)Loop:

        foreach (var item in PlatypiIds)
        {
            var query = db.Table().Where(l => l.PlatypusId == item).
                Where(l=> l.SentTimeUTC >= EarliestToShow).
                Where(l=> l.SentTimeUTC  l.SentTimeUTC);

            if (query != null)
            {
                foreach (var q in query)
                {
                    listLocs.Add(q);
                }
            }
        }

... можно преобразовать в выражение LINQ:

listLocs.AddRange(from item in PlatypiIds select db.Table().Where(l => l.PlatypusId == item).Where(l => l.SentTimeUTC >= EarliestToShow).Where(l => l.SentTimeUTC  l.SentTimeUTC) into query 
where query != null from q in query select q);"

... но потом Решарпер рассказал мне позже оновый и улучшенный" код: "Доступ к переменной foreach при закрытии. Может иметь различное поведение при компиляции с разными версиями компилятора

Так каковы возможности компиляции с другой версией компилятора? Я имею в виду, яя не собираюсь идти назад, по версии, от VS2012 к VS2010, например ... ???

2) По этим строкам:

            if (db != null)
                db.Insert(new PlatypiRequested()

... этого кода:

    using (var db = new SQLiteConnection(SQLitePath))
    {
        db.CreateTable();

        db.RunInTransaction(() =>
        {
            if (db != null)
                db.Insert(new PlatypiRequested()
                              {
                                  PlatypusId = PlatypusId,
                                  PlatypusName = PlatypusName,
                                  InvitationSentLocal = invitationSentLocal
                              });
        });
    }

... Решарпер сообщает мне:Доступ к закрытой крышке "

Что это значит, и что мне с этим делать?

Ответы на вопрос(3)

Ваш ответ на вопрос