SQLite:table 中不存在列,但可能是某些查询中的 generated/added

SQLite: Not existing column in table, but may be generated/added from some queries

我有一个table。假设:

表A

C# 实体使用 Id, ColumnA, int ColumnB.

属性定义

我希望在正常情况下,ColumnB 设置为 -1,并且在执行 RawSQL 时,我可以在 SELECT 子句中包含此列属性.

原始 SQL

SELECT *, 123 AS ColumnB FROM TableA

尝试次数

我尝试在 ColumnB 属性 上使用 NotMapped 属性 ==> 正常案例加载没有问题,但使用具有此列的 RawSQL added/generated,值不在属性.

我尝试在 ColumnB 属性 上使用 DatabaseGenerated(DatabaseGeneratedOption.Computed) ==> RawSQL 有效,但现在尝试加载没有 Raw[=58= 的实体] 崩溃。

我尝试使用:

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    base.OnModelCreating(modelBuilder);
    modelBuilder.Entity<TableA>().Property(m => m.ColumnB).HasComputedColumnSql("-1");
}

但结果与上次尝试相同。

如果不创建覆盖 TableA class 并包含 ColumnB 属性 的新 class,是否有办法获得此行为?

我最终选择了创建一个新的子类。但是,它给我带来了另一个问题,我也解决了。参见