Выберите конкретное поле справочной таблицы с помощью linq
привет
у меня есть книжный стол и в каждой книге есть много глав
я создаю ниже класс для своей сущности
public class Book { [Key] public int BookID { get; set; } [MinLength(10,ErrorMessage = "ISBN Minimum size should be 10"),MaxLength(13,ErrorMessage = "Maximum Lenght of ISBN should be 13 ")] public string ISBN { get; set; } public string bookName { get; set; } public string bookSummery { get; set; } public string bookAuthor { get; set; } public string bookTranslator { get; set; } public virtual ICollection<Chapter> Chapters { get; set;} } public class Chapter { public int ChapterId { get; set; } public string chapterName { get; set; } [ForeignKey("Book")] public int BookRefId { get; set; } public virtual Book Book { get; set; } }
я хочу просто выбрать конкретное поле моей главы(в этом примере только имя главы)
Что я уже пробовал:
<pre>var _books = (from _b in db.Books select new { _b.ISBN, _b.BookID, _b.bookName, _b.bookSummery, _b.Chapters = _b.Chapters.Select(details => new { details.chapterName, }, });
но этот код не работает для меня
0x01AA
"не работай на меня" означает что именно?
Maciej Los
Кажется, вы хотите получить названия книг и глав. Если я не ошибаюсь, вы должны использовать SelectMany
инструкция.
AminMhmdi
в нем говорится, что выражение Include path должно ссылаться на свойство навигации, определенное в типе. Используйте пунктирные пути для ссылочных навигационных свойств и оператор Select для свойств навигации коллекции.