- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Entity Framework 的新手:我从数据库优先模型开始维护使用 EF 和普通旧 SQL 的奇怪混合创建的应用程序。
我创建了自己的全新 DB-first 模型,我对此很满意。今天我的老板让我添加一个新实体。缺少外键简化了场景。
我已经在图中创建了我的新实体(它由我刚刚创建的复杂实体的三个实例组成)但现在我必须制作一个增量数据库脚本来创建新表。我应该为 MySQL 和 SQL Server 都做这件事,但让我们从第二个开始。
所以现在我看到我有一个编译问题“没有实体 Entity
的映射”,如果我使用“从数据库更新模型”命令,我看不到推送 更改为 DB,但考虑到“来自”这个词,这听起来是正确的。
好的,我尝试从右键单击菜单中单击“表映射”,我找到了将实体映射到表的选项。我打算在“添加表或 View ”字段中输入新表名,然后……等等!我只能选择现有的表
我知道它只是针对单个表,所以我可以简单地“从模型生成数据库”以获得完整的 SQL 脚本,找到我想要的表,将其运行到数据库并“从数据库更新模型”,这样 EF 就会查看表格,但是
我想了解如何使用 Entity Framework 创建增量脚本。这是我的问题。
最佳答案
您表示您采用的是数据库优先设计,但似乎是以代码优先的思维方式开展工作。
在数据库优先设计中,实体模型从属于底层数据存储。对模型的更改(或至少对模型的更改还需要对底层数据存储进行更改)首先在数据库上发生。
那么如何为实体创建一个新表呢? 您在数据库中创建新表 (CREATE TABLE ...)。然后使用“从数据库更新模型”向导,从“添加”选项卡中选择新表。EF 将自动创建相应的 EF 类。如果您已经手动创建了该实体,您应该将其删除,否则您最终可能会得到一些奇怪的实体命名(即 Customer1)。
数据库优先不具备支持实体层建表的能力。数据库的改变总是一种方式,从数据库到实体模型,因此才有“数据库优先”的说法.
另一方面,如果您更愿意直接创建实体并希望从一组实体构建数据库,您应该寻求创建“代码优先”设计。尽管名称为“代码优先”,但仍可以从现有数据库中获取一组初始实体类。术语“代码优先”是指对数据库/模型结构进行更改的起源。
关于c# - 将实体(和相应的表)添加到 EF DB-first 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28239878/
我在 Java 中遇到异常处理问题,这是我的代码。当我尝试运行此行时出现编译器错误:throw new MojException("Bledne dane");。错误是: exception MojE
我刚刚开始学习asp.net。在你们的支持下,我希望我能从这个论坛学到更多东西。 我的问题是, 我在 asp.net 页面中有一个 TabContainer1,因为每个选项卡面板中有多个类似 (60)
我是一名优秀的程序员,十分优秀!