2016-07-16 80 views
0

所以这是一个新的错误,刚开始对我来说,我不知道为什么。当我尝试通过EF6添加表格时,在任何不可空的字段上出现以下错误。在我已经能够添加的表上,如果我用XML打开edmx文件,我可以看到StorageSection中每个表的[Key]部分包含表中的每个字段。所以这显然是一个错误,但我不确定它在哪里。EF6 MySql - 密钥的所有部分必须是不可空的

我已经做了以下内容: - 双检查了我的数据模型,在MySQL(使用版本5.7.7) - 卸载并重新安装的Visual Studio 2015年 - 卸载并重新安装实体框架(版本6.1.3) - 使用Devart dotConnect MySql Pro试用版(版本8.6.677.0) - 双击所有web.config选项以确保它们是正确的。

示例错误: 错误13101:类型'aspnetusers'的关键部分'LockOutEndDateUtc'无效。密钥的所有部分必须是不可空的。 HRSMonitor C:\用户\凯文\文档\ Visual Studio的2015年\项目\ HRSMonitor \ HRSMonitor \型号\ dbHRS.edmx

下面是该aspnetusers表的CREATE TABLE脚本:

'aspnetusers',“CREATE TABLE aspnetusersId VARCHAR(128)NOT NULL,Email VARCHAR(256)DEFAULT NULL,EmailConfirmed TINYINT(4)DEFAULT NULL,PasswordHash VARCHAR(21000)DEFAULT NULL,SecurityStamp VARCHAR(21000)DEFAULT NULL,PhoneNumber VARCHAR(21000)DEFAULT NULL, PhoneNumberConfirmed TINYINT(1)DEFAULT NULL,TwoFactorEnabled TINYINT(1)DEFAULT NULL,LockOutEndDateUtc日期时间DEFAULT NULL,LockoutEnabled位(1)DEFA ULT NULL,AccessFailedCount INT(11)DEFAULT NULL,UserName VARCHAR(256)NOT NULL,PRIMARY KEY(Id),KEY IdId))ENGINE = InnoDB的默认字符集= latin1' 的

任何想法将不胜感激。

+0

您是否已经创建了此表?意义(你的问题是模糊的)桌子是否已经存在? – Drew

+0

是的,表已经创建。这是模型优先设计。 –

+0

'show create table theTableName;'< - 运行它,用一个[编辑]发布它来提问(即:不要将它转储到这里的注释中) – Drew

回答

0

找到我的问题,在MySQL中,下面的语句需要运行,然后EF6合作:

设置全局optimizer_switch = 'derived_merge =关闭'; set optimizer_switch ='derived_merge = off';

相关问题