我已经使用WebApi和实体框架构建了一个REST服务。在我的应用程序中,我有两个项目 - 一个具有API功能,另一个具有我将在我的Web项目中使用的模型类。使用实体框架使用WebApi返回复杂对象4
我遇到的问题是我似乎无法呈现任何实体的子集合。例如说我有以下2类:
public class User
{
public int UserId { get; set; }
public string Name { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public virtual Collection<Achievement> Achievements { get; set; }
}
public class Achievement
{
public int AchievementId { get; set; }
public string Achievement { get; set; }
public string Value { get; set; }
public User User { get; set; }
}
,我想检索用户实体,并使用以下调用我的库中的所有用户的成就的集合(假设我有一个DbSet每个代替2个对象已经)
var user = dbContext.Users
.Include(u=>u.Achievements)
.Where(u=>u.UserId == 1)
.First();
我已经运行该代码,并通过包含上述陈述的方法调试并正确检索所有的,我所需要的信息,但是,在这之后的数据是不呈现给浏览器,而是返回内容长度为零。
我已阅读了大量有关此事的广泛信息,似乎有建议创建自定义序列化器来处理复杂的外国实体。我只是认为有一个更好的办法......当然这是webapi框架开发中的一个问题 - 我觉得我缺少一些基本的东西
谢谢。
是否引发任何异常? – 2011-12-15 12:07:29