Сообщение Re: LINK EF C# от 01.04.2015 22:18
Изменено 01.04.2015 22:28 scale_tone
Здравствуйте, ronik, Вы писали:
R>Возникает вопрос как быть если размер List не известен?
Ох, ну как-то так:
Понятно, что "размер List" не бесконечен, но вот у меня (на SQLExpress) дошло до 3000 элементов, и я не стал тестить дальше (устал ждать).
R>Возникает вопрос как быть если размер List не известен?
Ох, ну как-то так:
var id = new List<int> { 12, 13, 14, 15 };
// splitting into pairs
var pairs = id.Select((value, index) => new { PairNum = index / 2, value })
.GroupBy(pair => pair.PairNum)
.Select(grp => grp.First().value.ToString() + "-" + grp.Last().value.ToString())
.ToArray();
// querying
var query = db.Test.Where(t => pairs.Contains(t.HomeId.ToString() + "-" + t.GuestId.ToString()));
Понятно, что "размер List" не бесконечен, но вот у меня (на SQLExpress) дошло до 3000 элементов, и я не стал тестить дальше (устал ждать).
Здравствуйте, ronik, Вы писали:
R>Возникает вопрос как быть если размер List не известен?
Ох, ну как-то так:
Понятно, что "размер List" не бесконечен, но вот у меня (на SQLExpress) дошло до 3000 элементов, и я не стал тестить дальше (устал ждать).
R>Возникает вопрос как быть если размер List не известен?
Ох, ну как-то так:
var id = new List<int> { 12, 13, 14, 15 };
// splitting into pairs
var pairs = from i in Enumerable.Range(0, id.Count / 2) select id[i * 2] + "-" + id[i * 2 + 1];
// querying
var query = db.Test.Where(t => pairs.Contains(t.HomeId.ToString() + "-" + t.GuestId.ToString()));
Понятно, что "размер List" не бесконечен, но вот у меня (на SQLExpress) дошло до 3000 элементов, и я не стал тестить дальше (устал ждать).