EF6在查询中插入“\ n”?

时间:2014-10-07 14:03:43

标签: c# mysql entity-framework mariadb

最近我发现了Entity Framework 6之美,并决定在我当前的项目中实现它。但是,我今天偶然发现了一个奇怪的问题。我一直在互联网上搜索几个小时,但我还没有找到任何解决方案。

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

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

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

  

“您的SQL语法中有错误;请查看与您的MariaDB服务器版本对应的手册,以便在'附近使用正确的语法'(SELECT \ n tablecolumn1,\ n { {1}}。table,\ n column2table在第1行“

我确实在我的数据库界面(对于那些感兴趣的人是HeidiSql)中复制了查询,并在删除“\ n”之后,查询似乎工作正常。

错误发生在:

column3

我调试了输入,这是正确的。此外,该表已正确添加到表实体。代码也按照它应该编译。

奇怪的是,这是发生错误的唯一地方(但是 - 我必须更多地测试它以确保这一点)。我在其他地方调用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 } ,不知怎的,它不会在那里抛出任何错误。换一种说法;我实际上能够为其他更复杂的表添加数据并将数据保存到数据库中。不知何故,这个似乎不起作用。

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

我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:1)

在EF中,您无法定义PK,也无法定义PK。