實體框架7 DbContext腳手架

asp.net asp.net-core c# entity-framework entity-framework-core

我正在嘗試使用ASP.NET 5和Entity Framework 7為現有數據庫結構生成DbContext 。毫不奇怪,沒有很多關於如何輕鬆完成此操作的文檔。另外,我想僅僅支持上下文;有大約900個表,我只關心它們中的一些,我不需要每個表的模型類。

我一直在使用指定的命令在這裡 ,並在這裡與點點運氣。

所以,我想我有兩個問題:

  1. 生成的上下文文件位於何處?我在命令提示符下運行命令沒有失敗,但沒有其他事情發生。我知道我至少在正確的位置,因為我可以添加不受支持的屬性的舊EF6模型,它給我一個錯誤,他們不支持。

  2. 是否可以僅生成沒有相應模型類的上下文?

熱門答案

我的項目生成上下文和模型時遇到了同樣的問題。這是我做過的一些事情。

更新適用於以下1.0 RC1

Project.json

  "dependencies": {
    "EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
    "EntityFramework.Commands": "7.0.0-rc1-final",
    "EntityFramework.MicrosoftSqlServer.Design": "7.0.0-rc1-final"
  },

  "commands": {
    "ef": "EntityFramework.Commands"
  },

  "frameworks": {
    "dnx451": { },
    "dnxcore50": { }
  }

DNX命令

  "dependencies": {
    "EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
    "EntityFramework.Commands": "7.0.0-rc1-final",
    "EntityFramework.MicrosoftSqlServer.Design": "7.0.0-rc1-final"
  },

  "commands": {
    "ef": "EntityFramework.Commands"
  },

  "frameworks": {
    "dnx451": { },
    "dnxcore50": { }
  }

原帖在下面

確保將這些文件添加到project.json文件中:

  "dependencies": {
    "EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
    "EntityFramework.Commands": "7.0.0-rc1-final",
    "EntityFramework.MicrosoftSqlServer.Design": "7.0.0-rc1-final"
  },

  "commands": {
    "ef": "EntityFramework.Commands"
  },

  "frameworks": {
    "dnx451": { },
    "dnxcore50": { }
  }

使用dnvm update-selfdnvm升級升級dnvm和dnx運行時。我在cmd中運行它。

在項目位置打開cmd.exe(如果您在Windows中,導航到該文件夾並在文件夾中右鍵單擊並單擊“在此打開命令窗口”)。就我而言,我的數據訪問層有一個單獨的項目,例如。

  "dependencies": {
    "EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
    "EntityFramework.Commands": "7.0.0-rc1-final",
    "EntityFramework.MicrosoftSqlServer.Design": "7.0.0-rc1-final"
  },

  "commands": {
    "ef": "EntityFramework.Commands"
  },

  "frameworks": {
    "dnx451": { },
    "dnxcore50": { }
  }

我然後simplay跑了:

dnx ef dbcontext scaffold“Data Source = .; Initial Catalog = database; Integrated Security = True”EntityFramework.SqlServer

確保您的項目可以構建。如果有錯誤,命令可能不起作用。

它生成了所有模型以及上下文(使用每個實體的OnModelCreating()設置)。如果您不需要所有模型,只需刪除您不使用的模型。

所以回答你的問題:

  1. 它在您運行dnx ef dbcontext scaffold的文件夾中創建模型和上下文。
  2. 我看不到任何允許你這樣做的命令。在cmd中運行dnx ef --help並自己查找。 dnx ef

我希望這有幫助。




許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因