首页 > 解决方案 > EF 试图创建泛型类型表 (TEntity)

问题描述

我从通用基类开始(ef-core,code-first)“按类”配置,如下所示:

public class BaseEntityConfiguration<TEntity> : IEntityTypeConfiguration<TEntity>
    where TEntity : BaseEntity
{
    public virtual void Configure(EntityTypeBuilder<TEntity> builder)
    {
        var entityName = nameof(TEntity);
        builder.ToTable(entityName);
    }
}

add-migration进展顺利,但它update-database抱怨:

不能将表“TEntity”用于实体类型“Couche”,因为它正在用于实体类型“Affaire”和可能的其他实体类型,但没有链接关系。将外键添加到主键属性上的“Couche”,并指向映射到“TEntity”的另一个实体上的主键。

TEntityTEntity它是泛型类型占位符时,为什么要使用表' '?

标签: c#.netasp.net-coreentity-framework-coreef-core-5.0

解决方案


nameof(TEntity)是字符串“TEntity”。你可能应该使用

var entityName = typeof(TEntity).Name;

反而。


推荐阅读