数据库支架EDMX

时间:2018-08-17 12:22:31

标签: asp.net ssms edmx asp.net-mvc-scaffolding db-first

大家好,我正在尝试使用数据库优先方法来建立模型,因此这些模型位于edmx文件中。

但是,我收到一条错误消息:

  

实体类型ApplicationUser不是该模型的一部分   当前上下文。

我将提供者从

更改为
  

providerName =“ System.Data.EntityClient”

收件人

  

providerName =“ System.Data.SqlClient”

基于一些建议。 抛出另一个错误,说

  

找不到元数据关键字

然后我将连接字符串编辑为默认的连接字符串格式:

<add name="MyConnectionname" connectionString="Data Source=DESKTOP-GI\SQLEXPRESS;AttachDbFilename=path\dbname.mdf;Initial Catalog=dbname;Integrated Security=True" providerName="System.Data.SqlClient" />

我发现这可行,但是当尝试使用登录功能时,我得到了 错误提示:

The context is being used in Code First mode with code that was generated from an EDMX file for either Database First or Model First development. This will not work correctly.

我知道这是因为我正在使用EDMX方法生成模型,并且更改提供程序名称和元数据会使脚手架无法访问该模型,因此如果没有元数据就无法做到。 但是,如果我添加元数据,则会得到“找不到关键字”错误,以解决需要更改提供者名称的问题,最终我回到了开始的地方。

我也没想到,使用上述字符串构建项目时会创建一个新的mdf文件,这种理解正确吗?

我得出这个结论,因为给出一个已经存在的.mdf文件会引发错误,指出该文件已经存在。

我尝试在MSDN中寻找答案,但是所有数据库优先教程都集中在EDMX方法上。

还有其他数据库优先方法吗?我相信我的基本原理是错误的。 请指出正确的方向:) 谢谢:)

0 个答案:

没有答案