2017-03-01 22 views
1

私は私は私のコードを実行すると、私は私のデータベースがあり、エラーを取得し最初にマイグレーションを使用して計算カラムを追加する方法は?

ALTER TABLE [MyDataBase].[dbo].[User] ADD FullName as ([FirstName] + ' ' + [LastName]) 

このクエリを使用して、私のデータベース内に作成した私のデータモデル内のその後

[DatabaseGenerated(DatabaseGeneratedOption.Computed)] 
    public string FullName { get; private set; } 

をこの計算列を追加しましたかわった 。 私の質問この計算列の移行を作成する方法(SQLクエリを使用して既に作成されているため)

+0

私はあなたが移行する必要があると思います –

+0

@ UmairAnwaarしかし、この 'Add-Migration name'と' Update_Database'を使用した場合、私はこの列がすでに作成されているというエラーが出ます。 –

答えて

2

Entity Frameworkは計算列の移行を正しく処理する方法を知らないため、

まず、計算された列をデータベースのテーブルから削除します。

そして、パッケージマネージャコンソールで新しい移行を作成します。

add-migration FullNameComputed 

次で新しい移行中Up()メソッドの本体を置き換えます

Sql("ALTER TABLE [TableName] ADD [FullName] AS ([FirstName] + ' ' + [LastName])"); 

は最後に、からの移行を実行しますパッケージマネージャコンソール:

update-database 
+0

あなたは男です。そんなに完璧に働いてくれてありがとう。 –

関連する問題