Подтвердить что ты не робот

Linq выберите из базы данных, где ID в ArrayList

У меня есть массив-список, содержащий некоторый UserID. Мне нужен такой запрос:

vat tmp= users.select(a=> a.UserID in (arraylist));

что я могу сделать?

4b9b3361

Ответ 1

Если это действительно в ArrayList, сначала нужно создать List<T> или массив. Затем вы можете использовать Contains:

// Use the appropriate type, of course.
var ids = arraylist.Cast<string>().ToList();
var tmp = users.Select(a => ids.Contains(a.UserID));

При использовании Contains в простой ArrayList может компилироваться, я ожидаю, что он завершится с ошибкой во время выполнения, если users - IQueryable<>.

Ответ 2

List<long> list =new List<long>(); 
var query = from n in users where list.Contains(n.ID) select n ;

Ответ 3

Это решение, которое я использовал.

public static IEnumerable<SettingModel> GetSettingBySettingKeys(params string[] settingKey)
    {
        using (var db = new BoxCoreModelEntities())
        {
            foreach (var key in settingKey)
            {
                var key1 = key;
                yield return Map(db.Settings.Where(s => s.SettingKey == key1).First());
            }
        }
    }