Я надеюсь, что я делаю что-то не так здесь. Я использую сервисы RIA с NHibernate.
Происходит следующее:
Сущность:
Категория
int CategoryId
Подкатегория
int SubCategoryId
Категория ParentCategory
int ParentCategoryId
На стороне сервера у меня есть запрос, чтобы получить все подкатегории (допустим, для этого примера их 3), NHibernate затем проигрывается и заполняет свойство Category, как и ожидалось, затем я вручную устанавливаю ParentCategoryId для каждого из подкатегории (это делается для того, чтобы моя ассоциация имела право на услуги RIA), затем я возвращаю список объектов.
Теперь на стороне клиента я получаю три объекта, как и ожидалось, но идентификатор свойства ParentCategoryId заполняется только для 1 из подкатегорий? Как это возможно?
Есть идеи?
Код серверной стороны:
#DOMAIN SERVICE
public IList<SubCategory> GetAllSubCategories()
{
var service = new CategoryApplicationService();
var subCats= service.GetAllSubCategories();
return subCats;
}
#CATEGORY APPLICATION SERVICE
public IList<SubCategory> GetAllSubCategories()
{
#some code to get the nhibernate session
var repo = RepositoryFactory.GetRepository<ISubCategoryRepository, SubCategory>(session);
var allCats = repo.FindAll();
foreach (var s in allCats)
{
s.ParentCategoryId = s.ParentCategory.CategoryId;
}
return allCats;
}
}