私はActionが私に返すエラーと混同します。JsonへのEntity Frameworkモデル
public class AddressesManager
{
private SiteDBEntities entityContext;
public Addresses GetAddress(short id)
{
entityContext = new SiteDBEntities();
var addressList = entityContext.Addresses.Where(a => a.Id == id).FirstOrDefault();
entityContext.Dispose();
return addressList;
}
}
そして、この関数を呼び出すアクション:
[HttpPost]
public ActionResult LoadAddress(short id)
{
AddressesManager mngr = new AddressesManager();
Addresses address = mngr.GetAddress(id);
return new JsonResult() { Data = address };
}
とjQueryコードウィッヒコールTHITアクション:私は私のマネージャーのコード持って
$.post("/Cart/LoadAddress", { id: id })
.success(function (data) {
console.log(data);
})
.fail(function (e) { console.log(e) });
アクションが実行されているが、しかし、私常にこのエラーコードを500回受け取る:
T ObjectContextインスタンスが破棄されたため、接続が必要な操作には使用できなくなりました。
私は問題を理解できるようにとエンティティ・コンテキストですが、これはなぜ起こりますか?私はすでにDBからデータを実行し、私はもう接続する必要はありません...
EDIT:
THITは私の住所モデルです。それはEFによって自動生成されました:
public partial class Addresses
{
public int Id { get; set; }
public string Title { get; set; }
public string State { get; set; }
public string Country { get; set; }
public string Warehouse { get; set; }
public string FirstName { get; set; }
public string SecondName { get; set; }
public string Phone { get; set; }
public short DeliveryType { get; set; }
public System.Guid UserId { get; set; }
public virtual DeliveryType DeliveryType1 { get; set; }
public virtual Users Users { get; set; }
}
アドレス変数のデータを確認しました。すべてOKとデータはここにあります。 – dantey89
アドレスクラスにはいくつかの仮想プロパティがあり、JSONに変換されているので、これらの仮想プロパティも取得する必要があります。 – Kahbazi
はい、そうです。これだよ。では、このエラーを回避する方法は何ですか?マニュアルでモデルをマップしますか? – dantey89