WebApiとEntity Frameworkを使用してRESTサービスを構築しました。私のアプリケーションでは、2つのプロジェクトがあります.1つはAPI機能を備え、もう1つはWebプロジェクトで使用するモデルクラスです。Entity Framework 4を使用してWebApiを使用して複合オブジェクトを返す
私が抱えている問題は、いずれかのエンティティの子コレクションをレンダリングすることができないことです。私はそれぞれのDbSetを持っていると仮定して(
public class User
{
public int UserId { get; set; }
public string Name { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public virtual Collection<Achievement> Achievements { get; set; }
}
public class Achievement
{
public int AchievementId { get; set; }
public string Achievement { get; set; }
public string Value { get; set; }
public User User { get; set; }
}
と私は私のリポジトリに次の呼び出しを使用して、ユーザーのエンティティとすべてのユーザーの業績のコレクションを取得したい:私は、次の2つのクラスを持っていること、たとえば言いますすでに2つのオブジェクトの)
var user = dbContext.Users
.Include(u=>u.Achievements)
.Where(u=>u.UserId == 1)
.First();
私はこのコードを実行し、デバッグ上記の文を含むメソッドを介して、それが正しく、私は必要なすべての情報を取得し、しかし、これ以降のデータがありましたブラウザにレンダリングされず、代わりにコンテンツの長さゼロが返されます。
私はこの問題に関する豊富な情報をたくさん読んできました。複雑な外部エンティティを処理するためのカスタムシリアライザを作成するための提案があるようです。私はちょうど良い方法があると思う...確かに、これはwebapiフレームワークの開発の問題でした - 私は何か基本的なものを欠いているように感じる。
ありがとう。
例外がスローされますか? –