【发布时间】:2017-03-19 16:42:45
【问题描述】:
我按照这个视频Youtube的说明进行操作
在我的控制器中:
public ActionResult loaddatacate()
{
BBDbModel context = new BBDbModel();
context.Configuration.ProxyCreationEnabled = false;
var data = context.Drinks_Category.ToList();
return Json(new { data = data }, JsonRequestBehavior.AllowGet);
}
在我看来:
<script type="text/javascript">
$(document).ready(function (e) {
$("#example1").DataTable({
"ajax": {
"url": "/Admin/AdminHome/loaddatacate",
"type": "GET",
"datatype": "json"
},
"columns": [
{ "data": "Id_category", "autowidth": true },
{ "data": "Name_category", "autowidth": true },
{ "data": "Parent", "autowidth": true }
]
});
var Parent = @Html.Raw(Json.Encode(ViewBag.Parent));
$(".parent").autocomplete({
source: Parent
});
});
数据库中的“Drinks_category”表有 3 列:Id_category、Name_category、Parent
错误是:
在序列化“WebApplication3.Models.Framework.Drinks_Category”类型的对象时检测到循环引用。
Drinks_Category 类:
public partial class Drinks_Category
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public Drinks_Category()
{
Drinks = new HashSet<Drink>();
Drinks_Category1 = new HashSet<Drinks_Category>();
}
[Key]
[StringLength(10)]
public string Id_category { get; set; }
[StringLength(20)]
public string Name_category { get; set; }
[Required]
[StringLength(10)]
public string Parent { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<Drink> Drinks { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<Drinks_Category> Drinks_Category1 { get; set; }
public virtual Drinks_Category Drinks_Category2 { get; set; }
}
请帮助我。谢谢!
【问题讨论】:
-
db如何布局,有什么限制?
-
我不明白你的问题,BBDbModel 是一个 DbContext
-
Var 数据是一个精确的列表,我以为是 JSON 导致的错误
-
循环引用来自一个表。我们不知道数据映射看起来如何
-
您能否在您的
return调用之前在data上设置一个断点,以查看您的结果是否良好,即具有您期望的结果数量的非代理类,它们只是@987654327 @ 对象并且没有其他急切加载的实体?
标签: javascript c# json asp.net-mvc