【发布时间】:2013-11-26 06:52:55
【问题描述】:
如何在 Json 中返回数据 LINQ
使用这个,但没有工作
public ActionResult GenerateShop()
{
LinqDataContext context = new LinqDataContext();
IEnumerable<shops> shops = context.shops;
return Json(shops.ToList());
}
这是错误“当序列化类型为“RentApp.Models.bikes”的对象时发现循环引用”
为什么他在我购物时写自行车?
成功了
var json = Json(shops.ToList());
但没有工作重新运行
当我手动创建模型时,一切正常,但我需要 LINQ
public List<Shops> ListShop()
{
List<Shops> shopList = new List<Shops>();
using (SqlConnection conn = new SqlConnection())
{
conn.ConnectionString = this.connfiguration;
using (SqlCommand cmd = new SqlCommand("SELECT * FROM shops", conn))
{
conn.Open();
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
Shops shop = new Shops();
shop.id = (int)rdr["id"];
shop.name = rdr["name"].ToString();
shopList.Add(shop);
}
conn.Close();
}
}
return shopList;
}
在控制器中
public ActionResult GenerateShop()
{
model.shops = this.rent.ListShop();
return Json(model.shops);
}
【问题讨论】:
-
“没有工作”是对您问题的可怕描述。请准确描述您得到的行为以及您期望发生的情况。
-
我不知道,返回客户端服务器错误500,但是如果我手动创建模型,一切正常
-
你能告诉我们
shops类的定义吗? -
shop类VisualStudio生成自我,基于数据库
-
问题是,当您返回商店时,您很可能在其中有一个名为
Bikes的属性,其中包含许多自行车,而反过来又包含一个名为Shop的属性,它引用您所在的商店试图返回。
标签: c# json linq asp.net-mvc-4