我在這個問題上打破了我的頭。我在網上找到了關於它的東西,但沒有一個明確的答案。我的問題:帶EF代碼優先的WebApi在生成父子關係時產生錯誤
我有類在MVC3 Web應用程序的模型部分: 父類和ChildClass 在父類有類型列表的屬性Children
我使用EF代碼首先,整齊地產生父表和我的數據庫中的子表。
現在我需要一個REST服務,它返回一個List或一個ParentClass。
當我從ParentClass中刪除屬性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;
}
callinh這項服務的時候我不會得到結果。我究竟做錯了什麼?
正是我在找的。你知道禁用這個的缺點嗎? – hooked82
代理有很多好處,記錄更新等。忘記包含語句沒有錯誤。我還沒有序列化proxi實體的解決方案 –