我希望我在这里做错了。我正在使用NHibernate的RIA服务。
发生以下情况:
实体:
分类
int CategoryId
子类别
int SubCategoryId
类别ParentCategory
int ParentCategoryId
在服务器端,我有一个查询来获取所有子类别(让我们说这个例子有3个),NHibernate然后很好地运行并按预期填充Category属性,然后我手动设置每个子类别的ParentCategoryId子类别(这是为了让我与RIA服务的关联正确),然后我返回对象的IList。
现在在客户端,我按预期获得了三个实体,但是仅为1个子类填充了ParentCategoryId属性id?这怎么可能?
任何想法?
服务器端代码:
#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;
}
}