首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实体框架7 DbContext支架

实体框架7 DbContext支架
EN

Stack Overflow用户
提问于 2015-10-08 13:45:50
回答 4查看 15.4K关注 0票数 12

我试图使用DbContext 5和实体框架7为现有的数据库结构生成一个ASP.NET。另外,我只想搭建上下文;大约有900个表,我只关心其中的几个,我不需要为每个表都创建一个模型类。

我一直在使用指定的这里这里命令,但运气不佳。

我想我有两个问题:

  1. 生成的上下文文件位于哪里?我在命令提示符下运行命令,没有失败,但没有发生任何其他情况。我知道我至少在正确的位置,因为我可以用不受支持的属性添加旧的EF6模型,这给了我一个错误,即它们不受支持。
  2. 是否可能只生成一个没有对应模型类的上下文?
EN

回答 4

Stack Overflow用户

发布于 2015-10-10 17:19:12

在生成上下文和模型时,我的项目也遇到了同样的问题。我做了几件事。

更新1.0 RC1下面的

Project.json

代码语言:javascript
复制
  "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司令部

代码语言:javascript
复制
dnx ef dbcontext scaffold "connectionString" EntityFramework.MicrosoftSqlServer

以下的原始帖子

确保将这些内容添加到您的project.json文件中:

代码语言:javascript
复制
"dependencies": {
    "EntityFramework.SqlServer": "7.0.0-beta7",
    "EntityFramework.Commands": "7.0.0-beta7",
    "EntityFramework.SqlServer.Design": "7.0.0-beta7"
},
"commands": {
    "ef": "EntityFramework.Commands"
}

升级dnvm和dnx运行时,以及使用dnvm更新-self和dnvm升级。我在cmd查过这个。

打开项目位置中的cmd.exe (如果您在windows中,请导航到文件夹并在文件夹中移动+右键单击,然后单击“打开命令窗口这里”)。在我的情况下,我有一个单独的项目,我的数据访问层,例如。

代码语言:javascript
复制
C:\Projects\Stackoverflow Example\src\StackoverflowExample.DAL\

然后我就跑了:

dnx支架"Data Source=.;Initial Catalog=database;Integrated Security=True“EntityFramework.SqlServer

确保您的项目能够构建.,如果有错误,这些命令可能无法工作。

它生成所有模型以及上下文(通过每个实体的OnModelCreating()设置)。如果你不需要所有的模型,只需删除那些你没有使用的。

因此,要回答你们的问题:

  1. 它在运行dnx脚手架的文件夹中创建模型和上下文。
  2. 我看不出有什么命令可以让你这么做。运行dnx帮助cmd并寻找自己。dnx

我希望这能帮到你。

票数 12
EN

Stack Overflow用户

发布于 2016-04-29 09:38:42

支架命令存在一个选项-表(-t):

代码语言:javascript
复制
dnx ef dbcontext scaffold connectionstring provider -t dbo.tab1 -t dbo.tab2
票数 3
EN

Stack Overflow用户

发布于 2015-10-08 14:48:29

对于EF 7,您不再需要使用base初始化,它通常会导致编译器错误。你需要把它看作是微软EF7启动文档。

你想关注新的

代码语言:javascript
复制
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        // Visual Studio 2015 | Use the LocalDb 12 instance created by Visual Studio
        optionsBuilder.UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=EFGetStarted.ConsoleApp;Trusted_Connection=True;");

        // Visual Studio 2013 | Use the LocalDb 11 instance created by Visual Studio
        // optionsBuilder.UseSqlServer(@"Server=(localdb)\v11.0;Database=EFGetStarted.ConsoleApp;Trusted_Connection=True;");

        // Visual Studio 2012 | Use the SQL Express instance created by Visual Studio
        // optionsBuilder.UseSqlServer(@"Server=.\SQLEXPRESS;Database=EFGetStarted.ConsoleApp;Trusted_Connection=True;");
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33017661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档