假设我有两个表的数据库 -Groups和Items.
- 表
Groups只有两列:Id和Name。 - 表
Items有三列Id:GroupId和Name。
Groups如您所见,和之间存在一对多的关系Items。
我正在尝试使用 WCF 和 LINQ 构建 Web 服务。我添加了新的 LINQ to SQL 类文件,并导入了这两个表。Visual Studio 自动为我生成了适当的类。
之后,我为服务创建了简单的客户端,只是为了检查一切是否正常。调用GetAllGroups()方法后,我从Groups表中获取所有组。但他们的财产Items总是空的。
所以我的问题是 - 有没有办法强制 WCF 返回整个班级(整个Group班级和所有Items属于它的班级)?或者这是它应该表现的方式?
编辑:这是 WCF 服务中返回所有的函数Groups:
public List<Group> GetAllGroups()
{
List<Group> groups = (from r in db.Groups select r).ToList();
return groups;
}
我在调试时检查过,函数Group内的每个对象GetAllGroups()都有它的项目,但是在客户端收到它们之后 - 每个Items属性都设置为null.