Дозвуковой 3 - Простой Репозиторий
Я играю с простым хранилищем Subsonic 3 и пытаюсь понять, как обращаться с внешними ключами...
Если у меня есть объект продукта, содержащий
int ID;
string name;
string description;
Category category;
int categoryID (this one is just to persist the product's categoryID to the DB)
and a category object containing
int ID;
string name;
Как я могу использовать репозиторий, чтобы вернуть список всех продуктов с созданным объектом категории?
На данный момент я написал запрос linq, который присоединяется к product.categoryID = category.ID, и это хорошо, но когда я.ToList() получаю результаты этого запроса, категория продукта не создается.
Есть ли способ сделать это, или я должен вручную создать экземпляр категории для каждого продукта?
Спасибо,
Павел
2 ответа
Вам нужно получить linq, чтобы заполнить его,
используя что-то вроде
var query = из продукта в репо. Все (Продукт)
присоединиться к CategoryItem в репо. Все (Category)
на product.CategoryId равно categoryItem.Id
выберите новый {
ID = product.ID,
name = product.name,
описание = product.description,
categoryId = product.CategoryId
category = categoryItem
};
Эта статья, кажется, обращается к "нетерпеливой загрузке" с дозвуковым: http://tryingthisagain.com/2007/12/03/hijacking-the-subsonic-relationship-load-process/