c# - 实体框架核心模型
问题描述
我已经构建了一个连接到 MySQL 的 ASP.NET Core MVC 应用程序。我想通过添加实体框架来增强解决方案,因为它会自动为您生成实体和模型。但是阅读这个新版本(EF Core),看起来您必须在代码中创建模型,然后运行脚本来创建数据库。这似乎倒退了,如果您不想在运行时创建数据库有什么好处?
我认为 Entity Framework 正好相反,你可以先创建数据库,然后通过一个漂亮的 UI 在 Visual Studio 中添加连接它,它会为你生成一切。为什么现在反转了?我宁愿在 MySQL 中维护数据库,然后在 Visual Studio 中获取/同步更改。
解决方案
确实,Entity Framework Core(至少目前)仅支持 Code First 方法,但这仅意味着通过 EDMX 文件和 T4(通常使用可视化设计器)生成类的选项消失了。
就像在 Entity Framework 6 中一样,Code First 有两个选项:
- 从头开始。根据需要创建类,通过类设计数据库。
- 通过对数据库进行逆向工程来创建类。您可以在此处查看如何执行此操作:使用现有数据库在 ASP.NET Core 上使用 EF Core 入门。
这两个选项都只会让您与 POCO 绑定,您可以决定是否要使用迁移。
推荐阅读
- kubernetes - kubernetes `--dry-run=client` 和 `--command` 以一种奇怪的方式依赖于命令的顺序
- javascript - 是否可以直接从 Request Multipart/form 读取 CSV 文件内容,而不使用 multer 将其上传到存储中?
- json - 如何修复 shell 脚本上的 JSON 错误?
- java - 如何使用外部配置初始化 kafka 流自定义分区器
- javascript - 在动态表中使用javascript自动计算年月差
- .net-core - 应用服务/(微服务)中处理相关实体的最佳实践
- c# - 使用 StopWatch 类获取 C# 方法的正确执行时间
- c# - IndexOutOfRangeException:索引超出了数组统一错误的范围
- python - IndexError:网络抓取时列表索引超出范围
- yum - 在 AWS amazon-linux ec2 上安装 neofetch 和 screenfetch