当我执行Ajax get请求时,服务器始终为navigation属性返回null。
我的导航属性是element.Escuderia。
我的代码:
$.ajax({
type: "GET",
url: "/GestionPilotosEscuderia/GetPiloto",
}).done(function (data) {
$(data).each(function (index, element) {
console.log(element) //here element.Escuderia gives null
});
}).error(function (ex) {
alert("Error");
});
//Controller
public JsonResult GetPiloto()
{
db.Configuration.ProxyCreationEnabled = false;
return Json(db.Piloto.ToList(), JsonRequestBehavior.AllowGet);
}
public partial class Piloto
{
public Piloto()
{
this.PilotoCarrera = new HashSet<PilotoCarrera>();
}
public int id { get; set; }
public int? id_escuderia { get; set; }
public string nombre { get; set; }
public string apellidos { get; set; }
public virtual Escuderia Escuderia { get; set; }
}
答案 0 :(得分:0)
我相信对于导航属性,您需要包含它们。
return Json(db.Piloto**.Include("Escuderia").**ToList(), JsonRequestBehavior.AllowGet);
答案 1 :(得分:0)
答案 2 :(得分:0)
问题解决了 去掉: db.Configuration.ProxyCreationEnabled = false;
答案 3 :(得分:0)
你可以尝试这个javascript代码:
$.ajax({
method: "GET",
url: "/GestionPilotosEscuderia/GetPiloto",
contentType: "application/json; charset=utf-8",
success: function(data){
//you can use $.each to loop on the data.
console.log(data)
},
error: function(error){
alert(error);
}
});