我有一个实体类,其中包含名为' 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中完成,没有数据注释。