请确保已经安装下列软件最新版
mysql-connector-net
mysql-for-visualstudio
如果你出现了上述问题
重新生成当前解决方案
如果还是有问题 请执行
Install-Package MySql.Data.Entity
Install-Package EntityFramework.Extended
如果还是有问题,请将为了entity在visual studio中安装的扩展 全部删掉然后执行
Install-Package EntityFramework
Install-Package MySql.Data.Entity
Install-Package EntityFramework.Extended
如果还是有问题 请新建一个全新工程
执行:
Install-Package EntityFramework
Install-Package MySql.Data.Entity
Install-Package EntityFramework.Extended
app.config
“TableDetails”中列“IsPrimaryKey”的值为DBNull.
Entity Framework连接MySQL时:由于出现以下异常,无法生成模型:“表“TableDetails”中列“IsPrimaryKey”的值为DBNull.
解决方案:
Execute the following commands in MySQL.
use <>; set global optimizer_switch='derived_merge=OFF';
如果还不能用 好像是表里的东西建错了 请仔细检查,我删掉了原来的表 重新建了个简单的表就好了
如果你没有Delete Update 这些扩展方法 请安装EntityFramework.Extended执行:Install-Package EntityFramework.Extended
如果你的 EntityFramework.Extensions Delete Update 发生一个或多个错误 听说原因是因为默认生成的是 mssql语句 mysql不支持
原帖:http://www.cnblogs.com/jerron/p/5092417.html
解决方法 :
public partial class CL1000Entities : DbContext
{
public CL1000Entities()
: base("name=CL1000Entities")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.HasDefaultSchema(""); //添加
base.OnModelCreating(modelBuilder);//添加
}
public virtual DbSet test { get; set; }
}
static void Main()
{
EntityFramework.Container container = new EntityFramework.Container();//添加
EntityFramework.Locator.RegisterDefaults(container);//添加
container.Register(() => new EntityFramework.Batch.MySqlBatchRunner());//添加
EntityFramework.Locator.SetContainer(container);//添加
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
如果出现 基础提供程序在 Open 上失败。可能是你在新建模型的时候选择了 否,从链接字符串中排除敏感数据,我将在应用程序代码中设置此数据
设置方法 打开 app.config
在id后面输入 password=xxxx;
或者在你所建立的模型的构造函数中传入 密码
public CL1000Entities() : base("name=CL1000Entities") { base.Database.Connection.ConnectionString = "server=localhost;user id=root;password=xxxxxxxx;persistsecurityinfo=True;database=CL1000"; }
更新条目时出错.有关信息请参阅内部异常
这个应该是 你手动修改过数据库字段的类型,需要手动更新你建立的模型文件 打开*.edmx ,空白区域右键->从数据库更新模型
也有可能是 有唯一属性的字段重复了
unable to load the specified metadata resource