C# EF6插入“\";有疑问吗?

C# EF6插入“\";有疑问吗?,c#,mysql,entity-framework,mariadb,C#,Mysql,Entity Framework,Mariadb,最近我发现了EntityFramework6的优点,并决定在我当前的项目中实现它。然而,今天我偶然发现了一个奇怪的问题。我在互联网上搜索了几个小时,但还没有找到任何解决办法 首先,一些可能有用的信息 我们正在使用MariaDB作为我们的数据库 我们正在为EF6使用MySql提供程序 所建立的连接是本地的,并且正在工作。数据库正确响应我的应用程序中的正确查询 问题:由于某种原因,EF正在生成一个包含“\n”的查询。因为我的错误如下 “您的SQL语法有错误;请检查与您的MariaDB服务器版本相

最近我发现了EntityFramework6的优点,并决定在我当前的项目中实现它。然而,今天我偶然发现了一个奇怪的问题。我在互联网上搜索了几个小时,但还没有找到任何解决办法

首先,一些可能有用的信息

  • 我们正在使用MariaDB作为我们的数据库
  • 我们正在为EF6使用MySql提供程序
  • 所建立的连接是本地的,并且正在工作。数据库正确响应我的应用程序中的正确查询

问题:由于某种原因,EF正在生成一个包含“\n”的查询。因为我的错误如下

“您的SQL语法有错误;请检查与您的MariaDB服务器版本相对应的手册,以了解要使用的正确语法”(在第1行选择\n
列1
,\n
列2
,\n
列3
。”

我从字面上复制了数据库界面中的查询(对于感兴趣的人来说是HeidiSql),删除“\n”后,查询似乎可以正常工作

错误被抛出到:

using(var db = new DataContext())
{
   table tab = new table
   {
      column1 = "Some value",
      column2 = "Some other value",
      column3 = "Yet, another value"
   };
   db.table.Add(tab);
   db.SaveChanges();      //This is where the error occurs
}
我已经调试了输入,它是正确的。此外,表被正确地添加到表实体。代码也像它应该编译的那样编译

奇怪的是,这是唯一发生错误的地方(但是-我必须对它进行更多的测试以确保这一点)
在其他地方,它不会在那里抛出任何错误。换句话说,我实际上能够为其他更复杂的表向数据库添加和保存数据。不知何故,这一个似乎不起作用

该表不包含任何主键或外键(我已经考虑过了,它实际上也不需要任何主键或外键)


我在这里遗漏了什么吗?

在EF中,如果不定义PK,就不能有一个映射实体。

“出于某种原因,EF正在生成一个包含“\n”的查询。由于我的错误如下:“您能提供生成查询的代码吗?不,我不能。它是在
db.SaveChanges()中生成的。”
这是内部的。我已经尝试访问它,然后手动过滤掉,但我似乎无法读取它。你说你没有PK。好吧,这在EF中是不可能的。我将尝试添加它,看看问题是否得到解决。我没有收到任何警告/消息说我应该拥有它,你不认为抛出的错误有点严重吗rd如果这是问题所在?将在db.SaveChanges()上引发错误,因为这是实际(尝试)持久化查询的时间,了解模型类以及生成查询“SELECT\ntable.column1\ntable.column2\ntable.column3”的模型的实际赋值非常重要。