モデル間の関係が数多くあるASP.NET Web APIに問題があります。ここに私のモデルは、(私は簡潔にするために簡略化しました)です:多数のリレーションシップを持つASP.NET Web API
public class Model1
{
public int Model1ID { get; set; }
public string Name { get; set; }
public virtual ICollection<Model2> Model2s{ get; set; }
public string Self
{
get
{
return string.Format(CultureInfo.CurrentCulture,
"api/model1/{0}", this.Model1ID);
}
set { }
}
}
public class Model2
{
public int Model2ID { get; set; }
public string Name { get; set; }
public virtual ICollection<Model1> Model1s{ get; set; }
public string Self
{
get
{
return string.Format(CultureInfo.CurrentCulture,
"api/model2/{0}", this.Model2ID);
}
set { }
}
}
と私の関連MODEL1 APIコントローラの抜粋:
public class Model1sController : ApiController
{
private ApplicationDbContext db = new ApplicationDbContext();
// GET: api/Model1s
public IQueryable<Model1> GetModel1s()
{
return db.Model1s;
}
...
}
私は長いJSONはネストされた取得/ API/model1sに移動しますエラー、ここでは最も内側の例外メッセージです。
There is already an open DataReader associated with this Command which must be closed first.
私が達成しようとしているのは、このような出力ですが、どのように動作させるかを理解できません。おそらくあなたが取得しているエラーを防止する方法として
[{
"Model1ID": 1,
"Name": "Some model 2 name",
"Model2s": [{
"Model2ID": 1,
"Name": "Another model 2 name"
}, {
"Model2ID": 2,
"Name": "Some model 2 name"
}]
}, {
"Model1ID": 2,
"Name": "Another model 1 name",
"Model2s": [{
"Model2ID": 2,
"Name": "Some model 2 name"
}]
}]
データベースとはどのように話していますか? – BillRuhl
私は確信していません。私はこのチュートリアルを使用して私のプロジェクトを開始しました。私の問題をより明確にするために、https://docs.microsoft.com/en-us/azure/app-service-web/web-sites-dotnet-rest-service -aspnet-api-sql-database –
OK ...新しい質問。なぜあなたのモデルはそれのように設定されていますか?それぞれが他のもののリストを含んでいるように見えます...あなたが本当に欲しいものは何ですか?それはあなたの問題を引き起こす可能性があります。 – BillRuhl