- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Identity Framework Core 配置 Multi-Tenancy 应用程序。
我已使用此处的说明成功创建了一个自定义 ApplicationUser 以使用 TenantId 覆盖 IdentityUser:https://www.scottbrady91.com/ASPNET-Identity/Quick-and-Easy-ASPNET-Identity-Multitenancy (这些说明不适用于 Identity Framework Core,但它们有帮助)。
当我创建数据库表时,我陷入了困境。
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
builder.Entity<Models.User>(entity =>
{
entity.HasIndex(a => new { a.NormalizedUserName, a.TenantId }).HasName("UserNameIndex").IsUnique();
});
}
我的目的是替换在base.OnModelCreating()中定义的UserNameIndex,以便它是两列上的索引而不仅仅是NormalizedUsername。但这只会导致错误:
The indexes {'NormalizedUserName', 'TenantId'} on 'User' and {'NormalizedUserName'} on 'User' are both mapped to 'Security.AspNetUser.UserNameIndex' but with different columns ({'NormalizedUserName', 'TenantId'} and {'NormalizedUserName'}).
显然,我想在将其添加到代码中之前撤消在 base.OnModelCreating() 调用中创建的索引,但找不到执行此操作的方法。
有没有办法从模型构建器中删除在模型创建链上进一步创建的索引?
最佳答案
在 https://github.com/aspnet/EntityFrameworkCore/issues/6239 的帮助下我找到了解决方案
您可以使用MetaData.RemoveIndex()
删除已存在的索引
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
builder.Entity<Models.User>(entity =>
{
// Added these two lines
var index = b.HasIndex(u => new { u.NormalizedUserName }).Metadata;
b.Metadata.RemoveIndex(index.Properties);
entity.HasIndex(a => new { a.NormalizedUserName, a.TenantId }).HasName("UserNameIndex").IsUnique();
});
}
关于c# - 在 OnModelCreating 中撤消 HasIndex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45965811/
我正在尝试使用 Identity Framework Core 配置 Multi-Tenancy 应用程序。 我已使用此处的说明成功创建了一个自定义 ApplicationUser 以使用 Tenan
我对这之间的真正区别很感兴趣 e.HasIndex(c => new { c.UserId, c.ApplicationId, c.Value }).IsUnique(); 和这个 e.HasAlte
本文整理了Java中org.eclipse.persistence.internal.oxm.XPathFragment.hasIndex()方法的一些代码示例,展示了XPathFragment.ha
我一直在搜索 EF Core 文档,如果在实体映射上添加 .HasIndex() 会为 DbFirst 场景带来任何好处,但我找不到任何东西。 我有这个 20yo 数据库,其中创建了所有必要的表和索引
据我所知,没有一种可靠的、有记录的方法来按照它们在源文件中声明的顺序获取匿名类型属性,这让我想知道我是否因此使用 EF 核心的 HasIndex: modelBuilder.Entity(entity
我想生成并应用迁移,我在项目文件夹中的命令行上运行了以下命令。 AuthServer.Infrastructure> dotnet ef database update --context AppId
我是一名优秀的程序员,十分优秀!