如何让 .NET CLI 知道哪个连接用于上下文?

Posted

技术标签:

【中文标题】如何让 .NET CLI 知道哪个连接用于上下文?【英文标题】:How to make .NET CLI know which connection to use for a context? 【发布时间】:2022-01-18 16:28:32 【问题描述】:

我的项目中有 EF Core 3.1。我有一个在 Startup 中配置的上下文

services.AddDbContext<YourDbContext>(options =>

     options.UseSqlServer(Configuration.GetSection("YourConn").Value);
     options.UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking);
);

我知道在应用程序启动期间连接字符串是明确的,但是当我想这样做时:

dotnet ef database update它如何知道使用什么连接?

【问题讨论】:

你需要在你的启动项目目录下定义项目或者运行这个命令。 @tmsbrndz 但它如何知道给定上下文使用哪个连接字符串? 【参考方案1】:

对于 EF Core 5.0,您可以执行以下操作:

dotnet ef 数据库更新命令现在接受一个新的 --connection 参数来指定连接字符串。

对于旧版本,您可以在命令中指定启动项目,它将使用相同的配置:

dotnet ef database update --startup-project ../YourProject.csproj

【讨论】:

以上是关于如何让 .NET CLI 知道哪个连接用于上下文?的主要内容,如果未能解决你的问题,请参考以下文章

如何知道单击了哪个视图以打开上下文菜单?

知道哪个适配器用于建立套接字连接

NSFetchRequest 如何知道哪个托管对象上下文在范围内?

Google IoT Core:我如何知道消息来自哪个设备?

SuperSocket和HP-Socket哪个更好

如何确定正在使用哪个 USB 端口?