我正在为我的 ASP.NET MVC 4 Razor 项目使用 ADO.NET 实体模型进行数据绑定和其他数据操作。
我正在尝试在我的模型中将这样的数据绑定到我的Controller
:
当我到达第 26 行时:
26. Sender = db.GetLoginByUserId(item.sender_id).FirstOrDefault(),
27. Receiver = db.GetLoginByUserId(item.recv_id).FirstOrDefault(),
我收到这样的错误:
{“已经有一个打开的 DataReader 与此 Connection 关联,必须先关闭它。”}
真的,我不明白如何手动关闭它,因为 ADO.NET 实体太自动了,我没有定义任何打开正在关闭 DataReader 或连接。
我认为,这可能是因为第 15 行:
15. var currentUserId = db.GetUserIdByLogin(Request.Cookies["user-name"].Value);
并且实体模型确实打开连接/DataReader 并仅在大括号}
符号后删除它们,当 GC 收集垃圾时。
看起来我只能在单个方法中进行一次调用,但是如果我想从 Entity 模型中进行更多调用,那该怎么做呢?
谢谢!