对于低预算的项目,我必须用MySql运行IIS Asp Mvc。迁移现有的项目运行良好,但如果我创建一个LINQ查询与采取&跳过它失败。ASP MVC MSSQL到MySQL的迁移
第一个测试(OK)
var post = _db.Posts.FirstOrDefaultAsync(a => a.id == 1234);
第二个测试(OK)
var post = _db.Posts.Include(a => a.Comments);
var result = await post.Select(a => new TRDPostViewModel
{
Created = a.Created,
Body = a.Body,
Comments = a.Comments.Select(d => new TRDCommentViewModel
{
Body = d.Body,
Id = d.Id,
}).Where(m => m.Trash == false)
.OrderByDescending(f => f.Created)
.ToList(),
}).FirstOrDefaultAsync();
第三个测试(失败)
var result = await post.Select(a => new TRDPostViewModel
{
Created = a.Created,
Body = a.Body,
Comments = a.Comments.Select(d => new TRDCommentViewModel
{
Body = d.Body,
Id = d.Id,
}).Where(m => m.Trash == false)
.OrderByDescending(f => f.Created)
.Skip(33)
.Take(10)
.ToList(),
}).FirstOrDefaultAsync();
这里是跟踪:
未知列“Extent1.Id”中“,其中clause'MySql.Data.MySqlClient.MySqlException
毫无意义可言。与MsSql相同的代码工作正常。使用最新的MySql.Data.Entity.EF6,版本= 6.9.7.0
我错过了什么吗?花几个小时解决,但没有成功。
您是否尝试激活EF记录器(Database.Log = Console.Write)来检查会发生什么? –
Jap我记录了失败的SQL查询。但这真的很奇怪。我搜索日志并将其粘贴到此处。 – creality