我正在研究一个使用NpGsql EntityFramework 6连接到PostgreSQL数据库的项目,当我尝试在GetAdminUsersCount
中执行查询时,出现了标题问题的异常:
public class GenieRepository : IDisposable
{
GenieDbContext db = new GenieDbContext();
public IEnumerable<User> GetUsers()
{
return db.Users;
}
}
public int GetAdminUsersCount()
{
return repo.GetUsers().Where(u => u.Role.RoleName == "Administrator").Count();
}
此错误的原因是什么以及如何解决?
最佳答案
我已经在linq查询之后使用ToList<T>
成功解决了问题,如下所示:
using (ElisContext db = new ElisContext()) {
var q = from a in db.aktie select a;
List<aktie> akties = q.ToList<aktie>();
foreach (aktie a in akties) {
Console.WriteLine("aktie: id {0}, name {1}, market name {2}"
, a.id, a.name, a.marked.name);
}
}
请注意完成该操作的
q.ToList<T>
。 .Net将linq语句的执行推迟到最新一刻,这可能是问题的一部分。我尝试在foreach中使用q,但没有成功。关于c# - NpGsql EntityFramework 6- "An operation is already in progress",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34544227/