以下代码从我的数据库中检索数据:
var acc_count = (from p in db.Payee
where p.AccountNumber == "02055455622"
select p)
但是当我尝试运行acc_count.ToList()
或acc_count.Count()
时,我得到System.StackOverflowExeption
。
这是收款人模型类。我正在使用ASP.NET MVC实体框架代码优先
public class Payee
{
[Key]
public virtual int ID { get; set; }
[DataType(DataType.Text)]
public virtual string Name { get; set; }
[MaxLength(15)]
[DataType(DataType.Text)]
[Display(Name="Account Number")]
public virtual string AccountNumber { get; set; }
public virtual Bank Bank { get; set; }
}
答案 0 :(得分:2)
我终于能够解决这个问题了。抛出异常的不是linq查询。这是错误的来源
return Create(payee);
而不是
return View();
因为我的
[HttpGet]
public ActionResult Create() {
}
没有任何输入变量,它一直调用另一个方法
[HttpPost]
public ActionResult Create(Models.Payee payee) {
}
因此,它创建了一个无限循环,然后导致异常
谢谢你们