Jok*_*nto 6 entity-framework .net-core azure-cosmosdb
我正在尝试将我的 asp.net 核心应用程序从使用 Azure SQL 数据库迁移到使用 CosmosDB 数据库。
尝试使用以下错误消息创建集合时遇到问题:
System.InvalidOperationException: '实体类型 'IdentityRole' 具有属性 'ConcurrencyStamp' 作为其并发标记,但仅支持 '_etag'。考虑使用“EntityTypeBuilder.UseETagConcurrency”。
我已经尝试过这些更改,但没有一个可以解决问题。
UseETagConcurrency在构建模型时添加了
builder.Entity<IdentityRole>().ToContainer("Roles").UseETagConcurrency();IdentityRole,_etag
向Role模型添加了属性有关如何解决此问题的任何想法?
谢谢您的帮助。
弄清楚了!问题是角色和用户已经有一个并发令牌,该令牌存储在属性“ConcurrencyStamp”中。因此我们需要告诉 EF 这个属性是我们想要用于 Etag 并发的属性。因此,不要UseETagConcurrency()使用以下内容:
builder.Property(d => d.ConcurrencyStamp)
.IsETagConcurrency();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
568 次 |
| 最近记录: |