实体框架核心 - 计算列问题

时间:2017-06-07 15:33:42

标签: entity-framework entity-framework-core

我有一个实体类,其中包含名为' CalculatedId'的列。此列从SQL语句获取,该列不存在于数据库表中。

如果我运行应用程序,我会收到错误,告诉我该列不存在。此错误是由于框架尝试将列映射到物理列。

下面是我的映射代码:

 modelBuilder
    .Entity<Widgets>()
    .Property(x => x.CalculatedId)
    .HasComputedColumnSql("select top 1 Id from MyTable");

我认为这会告诉EF不要生成物理列。

我能摆脱错误的唯一方法就是如果我这样做:

 modelBuilder
    .Entity<Widgets>()
    .Ignore(x => x.CalculatedId);

问题是列完全被忽略而根本没有生成。

有人可以为我联系点,并澄清需要做些什么来确保列生成但EF不在数据库中查找。

NB:必须在流畅的API中完成,没有数据注释。

0 个答案:

没有答案