2012-03-20 5 views
2

をシリアライズすることはできません作り出す私はMVC 4でテンプレートを単一ページのアプリケーションテンプレートを使用している次のことを作成しました:MVC 4モデルタイプのエラーオブジェクトグラフがサイクルを含んでおり、

public partial class SSOController : DbDataController<Softdocs.SSOWeb.SSOContext> 
{ 

    public IQueryable<Softdocs.SSOWeb.Models.User> GetUsers() { 
     return DbContext.Users.Include("Groups").OrderBy(u => u.UseName); 
    } 
    . . . 
} 

グループとユーザーの間でm2mを表すコレクションを設定するために "Include(" Groups ")"を追加しました。これは、クライアントこれは、とのいずれかの装飾方法により、WCFで解決することができます長年の問題のように見える

Object graph for type contains cycles and cannot be serialized if reference tracking is disabled 

に、次のエラーを受け取るの結果[CyclicReferencesAware(真)]または[のDataContract(IsReference =真) ]。

これをDdDataController(ASP.Net Web Api)で解決する方法に関するアイデアは非常に高く評価されます。

+0

今後の調査に基づいて、Web APIフォーマッタを使用してJSON.Netを実装しようと考えています。 Upshot.jsが依存しているように見えるDdDataControllerに適用されますか? – cResults

+0

私はJSON.Netでそれを試しました - hanselmansのブログにはポストがあります: http://www.hanselman.com/blog/OnTheNightmareThatIsJSONDatesPlusJSONNETAndASPNETWebAPI.aspx これまでのところ運がありません。彼らは日付の書式について話していますが、JSON.netのものはシリアル化の問題も解決しているはずです。残念ながら私のためではありません。 – Obiwan007

答えて

2

私も同様の問題がありました。明らかに、Microsoftが認識しているベータWebApiの一般的な問題です。 forum post of similar problem

関連する問題