c# - 使用属性覆盖数据模型约定
问题描述
我们知道一个应用程序可能有多个DbContext
,所以当添加一个迁移时,我们需要指定我们想要操作的上下文
dotnet ef 迁移添加 Initial --context XXXContext
所以当我们使用属性时:
[Table("Colors")]
public class Style
{
...
}
我们是否还需要指定表存在于哪个上下文中?对于我的示例,可能有两个数据库(因此两个DbContext
),每个数据库都可以是一个名为“Colors”的表,那么在使用属性时如何指定要操作的上下文?
解决方案
我认为,如果您想在一个应用程序中处理两个数据库,最好将其分隔在两个库项目中,并实现实体框架和一个使用这些库的应用程序。
示例:您有两个数据库Users
,Companies
因此您将有两个库(框架)项目User.Framework
,Company.Framework
并且当您添加实体时,只需选择它将是哪个数据库/框架。
您正在运行的应用程序将使用这两个框架,如果您在“包管理器控制台”上使用 Visual Studio,您可以选择要为哪个项目执行实体框架命令,例如update database
. (或者cd
到项目目录用命令行执行EF命令)
推荐阅读
- python - 在列中查找“下一个”非空值
- python - Docker 仅在我停止容器时执行 python 脚本
- zeromq - 如何在 PyZMQ 中解码 JeroMQ 字节数组?
- docker - Docker 拉取 - 需要授权
- mysql - 主键上的 MySQL 慢 ORDER BY ASC
- visual-studio - 如何刷新 OnPaint() 函数;窗口更新不起作用
- lazy-loading - 单击链接后,Angular 第二层导航消失
- android - 垂直握持设备时的方向
- javascript - reactjs 将数据从 span 标签传递到另一个组件
- ruby-on-rails - 如何将多个复选框的值保存在单个列中