У меня есть массив-список, содержащий некоторый UserID.
Мне нужен такой запрос:
vat tmp= users.select(a=> a.UserID in (arraylist));
что я могу сделать?
Ответ 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());
}
}
}