【发布时间】:2015-12-23 18:45:20
【问题描述】:
对于低预算项目,我必须使用 MySql 运行 IIS Asp Mvc。迁移现有项目运行良好,但如果我使用 Take & Skip 创建 LINQ 查询,则会失败。
第一次测试(正常)
var post = _db.Posts.FirstOrDefaultAsync(a => a.id == 1234);
第二次测试(正常)
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();
这里是踪迹:
'where 子句'MySql.Data.MySqlClient.MySqlException 中的未知列'Extent1.Id'
完全没有意义。与 MsSql 相同的代码工作正常。使用最新的 MySql.Data.Entity.EF6,版本=6.9.7.0
我错过了什么吗?花费数小时解决但没有成功。
【问题讨论】:
-
您是否尝试激活 EF 记录器 (Database.Log = Console.Write) 以检查发生了什么?
-
Jap 我记录了失败的 sql 查询。但这真的很奇怪。我搜索日志并将其粘贴到此处。
标签: c# mysql asp.net asp.net-mvc database-migration