【发布时间】:2011-12-31 16:36:20
【问题描述】:
我对这个问题感到头疼。我确实在互联网上找到了一些关于它的东西,但没有一个明确的答案。我的问题:
我必须在 MVC3 网络应用的模型部分上课: 父类和子类 在 ParentClass 上有一个 List 类型的属性 Children
我使用了EF Code First,它在数据库中巧妙地为我生成了一个父表和一个子表。
现在我需要一个返回 List 或单个 ParentClass 的 REST 服务。
当我从 ParentClass 中删除属性 Children 时,没有问题。但是对于那里的propoerty Children,我不断收到错误消息。
错误:"The type System.Data.Entity.DynamicProxies.ParentClass_A0EBE0D1022D01EB84B81873D49DEECC60879FC4152BB115215C3EC16FB8003A was not expected. Use the XmlInclude or SoapInclude attribute to specify types that are not known statically."}
一些代码:
类:
public class ParentClass
{
public int ID { get; set; }
public string Name {get;set;}
public virtual List<ChildrenClass> Children { get; set; }
}
public class ChildrenClass
{
public int ID { get; set; }
public string MyProperty { get; set; }
}
服务:
[ServiceContract]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
[ServiceBehavior(IncludeExceptionDetailInFaults = true)]
public class MyService
{
static MyContext db;
public MyService() { db = new MyContext(); }
[WebGet(UriTemplate = "")]
public List<ParentClass> GetParents()
{
var result = db.Parents.ToList();
return result;
}
调用此服务时我不会得到结果。我做错了什么?
【问题讨论】:
标签: asp.net-mvc-3 entity-framework rest ef-code-first wcf-web-api