Я занимаюсь разработкой сервиса odata (4.0) и пытаюсь вызвать связанные объекты (контроллер работает с книгами, я хочу получить категории). Для этого я создал три модели, которые описывают отношения многие ко многим.
public class Book
{
public int BookId { get; set; }
public string Title { get; set; }
public virtual ICollection<BookCategory> BookCategories { get; set; }
}
public class Category
{
public int CategoryId { get; set; }
public string CategoryName { get; set; }
public virtual ICollection<BookCategory> BookCategories { get; set; }
}
public class BookCategory
{
public int BookId { get; set; }
public int CategoryId { get; set; }
public Book Book { get; set; }
public Category Category { get; set; }
}
Внутри класса запуска я настроил отношения между Book и BookCategory.
builder.EntitySet<Book>("Book").HasManyBinding(x => x.BookCategories, "BookCategories");
Что ж, теперь я могу получить Записи BookCategories, и если я раскрою Category из BookCategories, я получу запись в категории. Но для меня у меня есть дополнительная ссылка на URL - BookCategories.
Знаете ли вы, как реализовать многие ко многим без BookCategories, например, URL должен выглядеть следующим образом: http://ip: port / книги (п) / категории