首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为新桌子搭建脚手架并保留现有的?

为新桌子搭建脚手架并保留现有的?
EN

Stack Overflow用户
提问于 2017-06-27 20:54:49
回答 4查看 12.4K关注 0票数 11

我在一个C#项目中搭建了几个表。现在我需要用脚手架换张新桌子。我不想重新搭建现有的支架,因为有一些变化。

代码语言:javascript
运行
复制
Scaffold-DbContext "Server=...;Database=...;...;" Microsoft.EntityFrameworkCore.SqlServer `
-OutputDir Models -Tables newTable

该命令将得到以下错误。

目录C中已经存在以下文件:\Users.\Models: myContext.cs,newTable.cs。使用Force标志覆盖这些文件。

使用-Force将覆盖现有表的现有代码。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-11-01 14:02:56

我希望有一个内置的方式添加实体和更新一个现有的上下文,但似乎没有。我克服了这一点,在包管理器控制台中使用了--context选项,并给它一个临时名称,例如--context TempContext。这起作用并生成了新的表和临时上下文。然后,我将public virtual DbSet<NewEntityType> NewEntityType { get; set; }属性和modelBuilder.Entity<NewEntityType>(entity =>块从临时上下文中的OnModelCreating方法复制到现有的方法中。之后,我删除了临时上下文。很简单。

票数 15
EN

Stack Overflow用户

发布于 2018-06-07 07:02:47

它将帮助您更改现有的DbContext文件。

如果您已经创建了一个新表,那么new (实体)将在您的Models文件夹中创建,如果您删除了现有的表,那么它将在您的Model文件夹中删除类(实体)。

软件包管理器控制台的

BloggingContext是我自己的数据库上下文文件,您必须更改您的名称。

在Package控制台中使用命令

Scaffold-DbContext "Server=SERVER_NAME; Database=DATABASE_NAME; User Id=USER_ID; Password=PASWWORD;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -context "BloggingContext" -Force

一个对话框将打开。选择适当的选项。

我选择“对所有人都是”

并从OnConfiguring文件中删除BloggingContext.cs ()。

票数 5
EN

Stack Overflow用户

发布于 2022-06-27 21:23:39

我通常保留一个小文本文件来构建这个用于脚手架的命令,并将每个表都添加到其中。

每次我执行时,所有的模型都会被覆盖。

如果您在脚手架之后编写的这些模型中有任何逻辑,在模型中的字段之上,atm --我建议编写一个包装类,这个类是从这个模型扩展而来的,并且实现了其他方法。这样,您的逻辑就不会被覆盖,只要模型名称保持不变,模型包装器就会继续从它扩展。

我只是比较新的脚手架,我希望会有一个更好的方法在2022年!?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44789685

复制
相关文章

相似问题

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