使用 EF 生成的 MySQL 在 LinQ 中为 FromSqlRaw 在从系统中选择变量时返回“SQL 语法错误”

Posted

技术标签:

【中文标题】使用 EF 生成的 MySQL 在 LinQ 中为 FromSqlRaw 在从系统中选择变量时返回“SQL 语法错误”【英文标题】:MySQL generated with EF returns "error in your SQL syntax" in LinQ for FromSqlRaw in selecting vars from system 【发布时间】:2021-04-09 06:51:29 【问题描述】:

我在 ASP NET Core 3.1 中有以下 SQL 调用来获取服务器的一些配置。在这种情况下,对于任何例如 event schedulermysql 数据库)

_context.Set<Event_Scheduler>().FromSqlRaw("SELECT @@event_scheduler as event_configuration;").FirstOrDefault();

返回一个带有单个 varchar(“ON”)的记录,然后它映射到这个类:

public class Event_Scheduler  
    public string event_configuration  get; set; 

也包含在上下文中:

modelBuilder.Entity<Event_Scheduler>().HasNoKey();

我没有看到这里的全部内容,或者我需要更多的咖啡。 任何帮助或提示将不胜感激。 提前致谢!

【问题讨论】:

拜托哦,请分享完整的错误堆栈。 在调用 FromSqlRaw 后添加 AsEnumerable() @ErikEJ 非常感谢!!!!!! :S 什么.... !!!!您要回答以便我可以投票并标记您的回答吗? 【参考方案1】:

在调用 FromSqlRaw 之后添加 AsEnumerable(),而不是立即对其进行组合。

【讨论】:

以上是关于使用 EF 生成的 MySQL 在 LinQ 中为 FromSqlRaw 在从系统中选择变量时返回“SQL 语法错误”的主要内容,如果未能解决你的问题,请参考以下文章

在 MySQL Linq Query EF6 中使用多个 Include() 方法时出现 FormatException

Linq-to-sql EF4 - 从生成列表

c# ef框架怎么使用linq语句多表查询?

在使用 EF 期间如何在 c# 中为类添加额外的属性

EF6 Dynamic Linq 将字符串转换为十进制

EF,CodeFirst 生成SQL语句错误