У меня есть следующие 3 таблицы с их полями
Книги (Id_Book | Title | Year) Book_Themes (Id | Id_Book | Id_Theme) Темы (Id_Theme | Заголовок)
У меня также есть массив Giud с Id_Themes
Guid [] themesArray = new Guid []{new Guid("6236c491-b4ae-4a2f-819e-06a38bf2cf41"), new Guid("06586887-7e3f-4f0a-bb17-40c86bfa76ce")};
Я пытаюсь получить все Книги , содержащие любой из Theme_Ids из themesArray
Это то, что у меня до сих пор не работает.Не уверен, как использовать Contains в этом сценарии.
int index = 1; int size= 10;
var books = (from book in DB.Books
join bookWThemes in DB.Book_Themes
on book.Id_Book equals bookWThemes.Id_Book
where themesArray.Contains(bookWThemes.Id_Theme)
orderby book.Year
select book)
.Skip((index - 1) * page)
.Take(size);
Я получаю сообщение об ошибке themesArray.Contains (bookWThemes.Id_Theme): System.Guid [] не содержит определения для Contains.Также я не уверен, куда поставить Distinct
**** ОБНОВЛЕНИЕ ****
заметил, что моя модель имеет Id_Theme как обнуляемый ... Я изменил базу данных и не отразил изменения в моей модели.Таким образом, чтобы ответить на вопрос, является ли он пустым, просто измените строку Contains на themesArray.Contains (bookWThemes.Id_Theme.Value) ... и с этим изменением все будет работать.
Спасибо за помощь!