【发布时间】:2012-01-20 20:37:52
【问题描述】:
我已经使用 WebApi 和实体框架构建了一个 REST 服务。在我的应用程序中,我有 2 个项目 - 一个具有 API 功能,另一个具有我将在我的 Web 项目中使用的模型类。
我遇到的问题是我似乎无法为任何实体呈现子集合。例如说我有以下 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; }
}
并且我想使用以下对我的存储库的调用来检索用户实体和所有用户成就的集合(假设我已经为这 2 个对象中的每一个设置了一个 DbSet)
var user = dbContext.Users
.Include(u=>u.Achievements)
.Where(u=>u.UserId == 1)
.First();
我已经运行了这段代码并通过包含上述语句的方法进行了调试,它正确地检索了我需要的所有信息,但是,在此之后数据不会呈现给浏览器,而是内容长度为零返回。
我已经阅读了很多关于此事的广泛信息,似乎有人建议创建一个自定义序列化程序来处理复杂的外部实体。我只是认为必须有更好的方法......这肯定会成为 webapi 框架开发中的一个问题 - 我觉得好像我错过了一些基本的东西
谢谢。
【问题讨论】:
标签: c# entity-framework lambda wcf-web-api