c# - 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”的另一个实体上的主键。
TEntity
当TEntity
它是泛型类型占位符时,为什么要使用表' '?
解决方案
nameof(TEntity)
是字符串“TEntity”。你可能应该使用
var entityName = typeof(TEntity).Name;
反而。
推荐阅读
- ruby-on-rails - Rails API - 获取未经许可的参数上传文件
- python - 尝试为 .gg 网站运行 scrapy shell 命令,但返回一个空括号
- javascript - 带有 JavaScript 和 Vue 的 Bootstrap 4 模态:$ 未在 eval 中定义
- unity3d - 双跳有时会变成三级跳
- ios - AudioKit 5 iOS 当前播放时间
- jquery - 将数字字符串中的第一个数字限制为 2 到 9
- python - 求解正整数系数的线性向量加法
- python-3.x - pandas.Series.append() 将新值添加为额外列,而不是将其附加到系列的末尾
- python - 如何制作切换按钮
- oracle - 我的 Unpivot 查询结果的列不是我想要的