最近我发现了Entity Framework 6之美,并决定在我当前的项目中实现它。但是,我今天偶然发现了一个奇怪的问题。我一直在互联网上搜索几个小时,但我还没有找到任何解决方案。
首先,一些可能有用的信息;
问题:由于某种原因,EF正在生成包含“\ n”的查询。由于我的错误如下;
“您的SQL语法中有错误;请查看与您的MariaDB服务器版本对应的手册,以便在'附近使用正确的语法'(SELECT \ n
table
。column1
,\ n { {1}}。table
,\ ncolumn2
。table
在第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
}
,不知怎的,它不会在那里抛出任何错误。换一种说法;我实际上能够为其他更复杂的表添加数据并将数据保存到数据库中。不知何故,这个似乎不起作用。
该表不包含任何主键或外键(它实际上也不需要任何键,我已经考虑过了。)。
我在这里错过了什么吗?
答案 0 :(得分:1)
在EF中,您无法定义PK,也无法定义PK。