我正在使用 .NET Core 框架 (5.0) 开发质量保证应用程序。最初,我使用了 MS SQL Server DB,它运行良好。但是,现在由于需求变化,我现在已经转移到 MYSQL Server。
我已经使用代码优先方法(实体框架)成功地集成了数据库。此外,我正在使用 NuGet 包Pomelo.EntityFrameworkCore.MySql并且一切正常,除了下面提到的 Linq 查询,我遇到异常 - This MySqlConnection is already in use。
public List<ErrorMessage> GetErrorMessage(int productId)
{
List<ErrorMessage> localList = new List<ErrorMessage>();
var product = _db.Products.Where(a => a.ProductId == productId).FirstOrDefault();
if (product != null)
{
var products = _db.Products
.Where(q => q.ProductName.ToLower() == product.ProductName.ToLower()).Select(e => e.ProductId);
foreach (var item in products)
{
var errormessage = _db.ErrorMessageTracks.Where(q => q.ProductId == item).Select(e => e.ErrorMessage);
foreach (var msg in errormessage)
{
if (!localList.Select(q => q.ErrorMessageId).Contains(msg.ErrorMessageId))
{
localList.Add(msg);
}
}
}
}
return localList;
}
我提到了其他类似的问题,但我无法解决这个问题,因为我不确定如何关闭 SQL 连接,因为我使用的是 Linq Query 而不是实际的 SQL Join。任何帮助,将不胜感激!