如果没有HasComputedColumnSql,如何在EF 6.0 Migration上创建计算列

时间:2017-03-12 23:27:18

标签: c# entity-framework

我需要为位置数据添加计算列,因为我有一个单独的纬度和经度列,但需要DbGeography属性来计算距离。

EF Core有一个方法HasComputedColumnSql,但我找不到EF 6.0的等价物。我可以从迁移中创建计算列的选项是什么?

1 个答案:

答案 0 :(得分:2)

首先将列标记为计算:

[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public double Distance { get; private set; } 

在迁移中,您只需运行一些自定义SQL:

Sql("ALTER TABLE Blah ADD Distance AS (...)");

...是您在计算列中需要的SQL。