私はこの問題に頭を悩ませています。私はそれについてインターネット上で何かを見つけましたが、明確な答えはありません。私の問題:
MVC3 Web アプリの Model セクションにクラスを作成する必要があります: ParentClass と ChildClass ParentClass には、List 型のプロパティ Children があります。
私は EF Code First を使用しました。これは、データベース内に親テーブルと子テーブルを適切に生成します。
ここで、List または単一の ParentClass を返す REST サービスが必要です。
プロパティ Children を 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;
}
このサービスを呼び出すと、結果が得られません。私は何を間違っていますか?