Я использую модель Entity для привязки данных и других манипуляций с данными для моего проекта ASP.NET MVC 4 Razor.Уже открытый DataReader для модели Entity в ADO.NET в проекте ASP.NET MVC
Я пытаюсь, в моей модели, чтобы связать данные, как это в моем Controller
:
Когда я достигаю линию 26:
26. Sender = db.GetLoginByUserId(item.sender_id).FirstOrDefault(),
27. Receiver = db.GetLoginByUserId(item.recv_id).FirstOrDefault(),
Я получаю такие ошибка:
{«Уже существует открытый DataReader, связанный с этим соединением, который должен быть закрыт первым».}
Действительно, я не понимаю, как закрыть его вручную, потому что объект ADO.NET слишком автоматический, и я не определял, что открытие закрывается для DataReader или соединения.
Я думаю, что это может быть из-за 15-й линии:
15. var currentUserId = db.GetUserIdByLogin(Request.Cookies["user-name"].Value);
И модель Entity ли открыть соединение/DataReader и удаление их только после того, как скобки }
символа, когда ГЙ collectiing мусора ,
Похоже, что я могу сделать только один вызов в одном методе, но если мне нужно больше вызовов от модели Entity, как это можно сделать?
Спасибо!
Я изменил источник 'Controller' на такой код: http://ideone.com/jE6Ps1, и данные привязываются очень хорошо без исключений. Спасибо за совет, Марк, но я думаю, что новый код выглядит очень уродливо :(Является ли модель сущности такой причудливой? –