我正在为这个问题头疼。我确实在互联网上找到了一些关于它的东西,但没有一个明确的答案。我的问题:
我必须在 MVC3 Web 应用程序的模型部分上课:ParentClass 和 ChildClass 在 ParentClass 上有一个 List 类型的属性 Children
我使用了 EF Code First,它在数据库中巧妙地为我生成了一个父表和一个子表。
现在我需要一个返回列表或单个父类的 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;
}
调用此服务时我不会得到结果。我究竟做错了什么?