我无法连接到使用从模型生成的实体框架创建的数据库实例

时间:2018-06-20 16:23:13

标签: asp.net .net sql-server entity-framework

我创建了一个Web应用程序和一个模型。然后,我生成了一个// personBindingSource was already created in the Designer ... personBindingSource.DataSource = null; personBindingSource.DataSource = _lstPerson; dgvPerson.DataSource = personBindingSource; dgvPerson.Refresh(); 类和一个数据库实例。生成项目后,我尝试从Visual Studio中的服务器资源管理器连接到该数据库,但无法连接。

我尝试测试连接,但出现错误:

  

此连接无法测试,因为指定的数据库不存在或对指定的用户不可见

每当我尝试使用脚手架视图或控制器时,都会出现此错误:

  

无法检索...的元数据...在模型生成过程中检测到一个或多个验证错误
  ModelsTable基于未定义键的TestModel类型。

当我在控制器类中创建数据库对象并且写查询遇到相同的错误时,未定义键。

还对软件包进行了更新,然后重试。我认为我的连接字符串正确。

这是我的模特。

dgvPerson.DataSource = _lstPerson;
dgvPerson.Refresh();

所以我不能使用脚手架,实体框架和编写查询。

这是我的dbcontext类。

dbcontext

我在互联网上搜索了尝试建立的解决方案,但不了解也无法解决。希望不要问不必要的问题。感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您是否正在使用Code First?如果是这样,我认为您需要进行迁移。 在Visual Studio中,转到“程序包管理器控制台”并运行以下命令:

  • 添加迁移“ modelClassName”
  • 更新数据库–详细

有关更多信息,请参见以下链接:https://msdn.microsoft.com/en-us/library/jj591621(v=vs.113).aspx

您缺少布景;在字段ID中。