モデルファーストのアプローチを使用してEF5を使用しています。モデルを設計し、対応するデータベースを生成する SQL スクリプトを実行しました (「モデルからデータベースを生成」を使用)。
次に、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
最後の 2 つの列は計算列でありStoreGeneratedPattern
、モデルでは として定義されていComputed
ます。
モデルに計算列の数式を追加する方法はありますか? SQL スクリプトはテーブルを削除してから再作成するため、これらの列を「無視」することはできません。