我正在使用EF5模型優先方法。我設計了模型並執行了生成相應數據庫的SQL腳本(使用「從模型生成數據庫」)。SQL Server計算列和EF模型優先
然後,我不得不使用UDF來計算一些列值(這需要刪除和重新添加列)。我已經在SSMS中完成了這項工作,然後使用「從數據庫更新模型...」來反映模型中的更改。
直到這一點,一切都很好。
但是從這一點來看,每當我從模型更新數據庫(如上所述)時,計算列將被「標準」列覆蓋。
例如,下面是由EF生成的SQL腳本的摘錄:
-- Creating table 'ShipmentSet'
CREATE TABLE [dbo].[ShipmentSet] (
[Id] int IDENTITY(1,1) NOT NULL,
[Details] nvarchar(128) NOT NULL,
[BarcodeValue] nvarchar(32) NOT NULL,
[ExecutionDate] datetime NOT NULL,
[RouteId] int NOT NULL,
[IsLocationBarcodeRequired] bit NOT NULL,
[IsPending] bit NULL,
[LastAction] tinyint NULL
);
GO
最後兩個列計算列,以及它們在模型StoreGeneratedPattern
被定義爲Computed
。
有沒有辦法在模型中添加計算列公式? SQL腳本刪除表然後重新創建它們,因此「忽略」這些列將不會執行。