EDMX 使用 lambda 表达式与 MySQL

发布于 2024-10-22 03:40:19 字数 371 浏览 4 评论 0原文

我将 EDMX 与 MySql 5.1 一起使用。它工作正常,除了当我尝试执行 lambda 表达式时,它显示以下错误:- 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 17 行的“[XYZ].[UserID] AS [UserID], [XYZ].[FirstName] A”附近使用的正确语法

其中 [XYZ]是表名,[UserID]、[FirstName] 是该表的列。以下是我要执行的语句 - _context.XYZSet.Where(org => org.ACDID == sbuID || !(org.ACDID.HasValue)).ToList();

请帮忙..

I am using EDMX with MySql 5.1. It is working fine except When I try to execute the lambda expression, it shows me the following error :-
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[XYZ].[UserID] AS [UserID], [XYZ].[FirstName] A' at line 17

where [XYZ] is the table name and [UserID], [FirstName] are the columns of that table. Following is the statement, that I want to execute -
_context.XYZSet.Where(org => org.ACDID == sbuID || !(org.ACDID.HasValue)).ToList();

Please help..

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

雨后彩虹 2024-10-29 03:40:19

我对 EDMX 一无所知,但从该错误来看,它似乎使用 MS SQL Server 语法来转义表和列名称,这是 MySQL 不支持的。 MySQL 使用反引号而不是方括号。

如果您可以让 EDMX 停止转义表和列名称,那么您可能没问题,假设没有任何表/列名称是保留字。

I do not know anything about EDMX, but from that error it looks like it's using MS SQL Server syntax to escape table and column names, which is not supported by MySQL. MySQL uses backticks for that, not square brackets.

If you could get EDMX to stop escaping the table and columns names then you might be okay, assuming none of the table/column names are reserved words.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文