我是 Microsoft Azure 美丽世界的新手,并制作了我的第一个 hello world 网站。下一步是创建一个数据库(entityframework),但在从 PackageManagerConsole (PMC) 创建数据库时出现异常。我在网上读了几篇文章,解释说我需要将 startupprojectname 添加到 PS 命令,但不幸的是,这并没有解决我的问题。

我的解决方案中有 2 个项目。

  • "partyonwebsite"这是启动项目,显然是我的网站:)。
  • "models"我将在其中设计我的模型/实体。

  • 在“模型”项目中,我有“User”和“UsersDb”类。 UsersDb 是从 DbContext 继承的类。

    现在,当我在 PMC 中执行以下行时:
    enable-migrations -StartUpProjectName "PartyOnWebsite" -ContextTypeName "Models.Users.UsersDb"
    

    我收到以下(不是很有帮助)错误:
    System.ArgumentException: The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG))
    The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG))
    

    我查看了 get-help enable-migrations 并尝试了一些,但运气不佳。

    有没有人遇到同样的问题?或者你能指出我正确的方向来帮助我解决它吗?

    非常感谢!

    巴斯

    最佳答案

    解决了。如果遇到同样的问题,请确保为单独的“模型”项目正确设置了 EntityFramework。

  • 在解决方案资源管理器中打开“管理解决方案的 NuGet 包”(在解决方案资源管理器中右键单击解决方案)
  • 选择“已安装的包”
  • 选择“EntityFramework”并点击“Manage”
  • 检查您的“模型”项目(我检查了我的网站项目和“模型”项目)

  • 再次运行 enable-migrations 命令。

    我还从我的网站项目中添加了一个项目引用到模型项目,我不知道这是否重要。

    我在 NuGet 中调整后成功执行的命令:
    enable-migrations -ProjectName Models -ContextTypeName Models.Users.UsersDb
    

    希望这个答案能帮助另一位迷路的士兵在 Azure 中运行他的第一个应用程序:)。

    干杯,

    巴斯

    关于database - EntityFramework enable-migrations ArgumentException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14007169/

    10-13 08:01