c# – 实体框架代码第一个错误“定位服务器/实例指定的错误”
我试图使用我的本地实例Sql Server 2008 R2使用Code First.我创建了一个用户’dev’,可以使用Sql Managment Studio登录并创建数据库.问题是在尝试使用EntityFramework中的DbContext创建数据库时,我会收到一条错误消息.这是错误信息:
错误消息我检查了我的Sql Server,它确实允许远程连接. 我用以下代码抽象了我的系统,并得到相同的错误: namespace CodeFirstConsole { public class Program { static void Main(string[] args) { var db = new MyContext(); try { Console.WriteLine(db.Parents.Count()); } catch (Exception) { throw; } Console.Read(); } } internal class MyContext : DbContext { public DbSet<ParentObject> Parents { get; set; } public DbSet<ChildObject> Children { get; set; } public MyContext() { this.Database.Connection.ConnectionString = "Data Source=.;Database=ConsoleTest;Initial Catalog=ConsoleTest;User ID=dev;Password=dev;"; } } internal class ParentObject { public int Id { get; set; } public string PropertyOne { get; set; } } internal class ChildObject { public int Id { get; set; } public bool PropertyOne { get; set; } public string PropertyTwo { get; set; } public virtual ParentObject Parent { get; set; } } internal class MyInitializer : DropCreateDatabaseAlways<MyContext> { protected override void Seed(MyContext context) { context.Parents.Add(new ParentObject() { PropertyOne = "hi" }); base.Seed(context); } } } 解决方法
我有同样的错误让我坚持了大约一天.我的情况是我有一个大型的解决方案与一个预先存在的启动项目,我正在为持久化项目添加EF.
所以第一步是添加EF依赖.这在我的持久性项目中创建了一个具有正确EF内容的app.config.然后我去了启用迁移,并在这篇文章中得到相同的错误.在这一点上,我没有想到将EF app.config设置复制到启动项目的app.config中,因为我以为在最终运行应用程序之前,我必须先玩它. 当我将解决方案启动项目更改为持久性项目时,问题得到解决,所以我可以让EF找到正确的app.config.或者我可以将EntityFramwework相关部分复制到启动项目的app.config. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |