Linq Query在.tolist()上抛出System.StackOverflowException

时间:2014-02-03 16:59:34

标签: asp.net asp.net-mvc linq stack-overflow

以下代码从我的数据库中检索数据:

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; }
}

1 个答案:

答案 0 :(得分:2)

我终于能够解决这个问题了。抛出异常的不是linq查询。这是错误的来源

return Create(payee);

而不是

return View();

因为我的

[HttpGet]
public ActionResult Create() {

}

没有任何输入变量,它一直调用另一个方法

[HttpPost]
public ActionResult Create(Models.Payee payee) {

}

因此,它创建了一个无限循环,然后导致异常

谢谢你们