Дозвуковой 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/

Другие вопросы по тегам