在自动生成的实体上添加列作为外键

问题描述 投票:0回答:1

我正在关注当前的文档关于如何在 abp 框架上更新自动生成的用户实体并添加新列。

不同的是我要绑定到另一个表,所以新列应该是外键。我添加了表类,但是在映射中,我不能添加外键。

我尝试使用

HasOne
但它不让我使用它:

ObjectExtensionManager.Instance
                .MapEfCoreProperty<IdentityUser, Guid>(
                    UserConsts.PropertyName,
                    (_, propertyBuilder) =>
                    {
                        propertyBuilder.HasOne<MyModel>().WithOne().HasForeignKey(x => x.MyPropertyId).IsRequired().OnDelete(DeleteBehavior.NoAction);
                    }
                );

错误信息:

严重性代码描述项目文件行抑制状态 错误 CS1061“PropertyBuilder”不包含定义 'HasOne' 并且没有可访问的扩展方法 'HasOne' 接受第一个 可以找到“PropertyBuilder”类型的参数(您是否缺少 使用指令或程序集参考?)

你知道如何正确导入属性吗?

MapEFCoreProperty
方法:

public static ObjectExtensionManager MapEfCoreProperty<TEntity, TProperty>(
        [NotNull] this ObjectExtensionManager objectExtensionManager,
        [NotNull] string propertyName)
        where TEntity : IHasExtraProperties, IEntity
    {
        return objectExtensionManager.MapEfCoreProperty(
            typeof(TEntity),
            typeof(TProperty),
            propertyName
        );
    }
entity-framework entity-framework-core abp
1个回答
1
投票

HasOne
EntityTypeBuilder
类中定义的方法。因此不可能在
PropertyBuilder
实例上使用它。要映射到不同的表,您需要在
HasOne
实例上使用
EntityTypeBuilder

© www.soinside.com 2019 - 2024. All rights reserved.