小编Tom*_*mFp的帖子

减少 EF Core 字符串鉴别器列大小以允许建立索引

我的 EF Core 鉴别器列是这样创建的

modelBuilder.Entity<MyClass>()
 .HasDiscriminator<string>("MyDiscriminator")
 .HasValue<SubClass1>(nameof(SubClass1))
 .HasValue<SubClass2>(nameof(SubClass2))
  ... etc. 
Run Code Online (Sandbox Code Playgroud)

属性 MyDiscriminator 未在 MyClass 上定义 - 它会自动添加,但是创建的 SQL 表将 MyDisciminator 列定义为 nvarchar(max) 鉴别器列中的值只能来自定义的列表,即“SubClass1”、“SubClass2” ETC。

如果我尝试对鉴别器列进行索引,我会得到

Msg 1919, Level 16, State 1, Line 29
Column 'MyDiscriminator' in table 'dbo.MyClass' is of a type that is invalid for use as a key column in an index.
Run Code Online (Sandbox Code Playgroud)

有没有什么方法可以定义字符串鉴别器,以便可以将最大长度设置为更合理的值 - 并且可以建立索引?

或者,如果没有,使用类似的方法在数据库中手动更改它是否会存在任何陷阱

ALTER TABLE dbo.MyClass
   ALTER COLUMN MyDiscriminator nvarchar(50)
Run Code Online (Sandbox Code Playgroud)

sql-server entity-framework-core

7
推荐指数
1
解决办法
1010
查看次数

响应状态代码不表示成功:409 冲突 - 提要已包含

我正在将我的 Azure DevOps 版本更改为 .NET Core。

除了在我的提要中获取包的最后一步之外,一切正常,我收到此错误:

响应状态代码不表示成功:409(冲突 - 提要已包含“mypackage 1.0.x”(Devops 活动 ID:xxx))

在旧的“Nuget Push”步骤中,有一个“允许跳过重复项”选项,专门用于解决此问题 - 但此选项在“dotnet push”步骤中不可用。

这在 dotnet 核心世界中如何实现?

.net-core azure-devops azure-pipelines

6
推荐指数
1
解决办法
8779
查看次数