ASP MVC MsSql到MySQL的迁移 [英] ASP MVC MsSql to MySQL migration
问题描述
对于低预算的项目,我必须使用MySql运行IIS Asp Mvc.迁移现有项目运行良好,但如果我使用Take& amp;创建LINQ查询,跳过失败.
For a low budget project I have to run IIS Asp Mvc with MySql. Migrating an existing project runs fine but if I create a LINQ query with Take & Skip it fails.
首次测试(确定)
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'未知列
Unknown column 'Extent1.Id' in 'where clause'MySql.Data.MySqlClient.MySqlException
毫无意义.与MsSql相同的代码可以正常工作.使用最新的MySql.Data.Entity.EF6,版本= 6.9.7.0
Makes no sense at all. Same code with MsSql is working fine. Using latest MySql.Data.Entity.EF6, Version=6.9.7.0
我错过了什么吗?花一些时间解决问题,但没有成功.
Am I missing something? Spend hours to solve but without success.
推荐答案
这是MySQL EF的一个已知问题,从MySQL本身的其他帖子中也可以找到. 参见:
Its a known issue with MySQL EF and from other posts maybe MySQL itself. See:
https://bugs.mysql.com/bug.php?id=78610
和其他SO帖子:
它发布于3年前,如果可以告诉您任何信息,则标记为关键".它存在于MySQL连接器6.9.11.0及更高版本中.我只需要尽力而为.我不希望它能解决.
it was posted 3 years ago and marked critical if that tells you anything. It exists in MySQL connector 6.9.11.0 and later. I've just had to work around it as best i can. I don't expect it to get fixed.
这篇关于ASP MVC MsSql到MySQL的迁移的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!