У меня есть таблица с составным ключом, например:Запрос списка лиц с составными ключами в EF
modelBuilder.Entity<MyEntity>().HasKey(e=> new { e.Part1, e.Part2 });
У меня также есть список ключей в памяти, для которой я хочу, чтобы загрузить объекты например:
var keys = new [] { new { Part1= 1, Part2 = 2}, new { Part1= 3, Part2 = 4} }
Как я могу выполнить один запрос для загрузки объектов в массиве ключей?
Я пробовал очевидные вещи, как ctx.MyEntities.Where(e => keys.Any(k => k.Part1 == e.Part1 && k.Part2 == e.Part2))
This answer наводит на мысль, что это не возможно, но, конечно, это не может быть.
Можете ли вы рассказать больше о вашей информации схемы? Я думаю, что это возможно, но я был бы признателен за некоторые примеры таблиц и ключей для начала. У вас есть первичный ключ в одной таблице, который объединяется из n столбцов в этой таблице, верно? И: Какую версию фреймворка сущности вы используете? Есть много изменений между версиями, возможно, одно относится к вашему делу. –
@gertarnold спасибо, ваш ответ в связанном вопросе блестящий. Знаете ли вы, есть ли в накопителе EF билет, чтобы решить эту проблему более надежным способом? если не ima добавить один. –
Не то, чтобы я знал. Но я сомневаюсь, потому что основной язык (40-летний SQL fcol) не поддерживает его. –