2

私たちは購入注文に関連した複合タイプCreditCardTransactionを使用しています。それは本当にそれが自分のエンティティであったはずです、そして、私は今これを修正しようとしています。データを失うことなく複雑なタイプをエンティティに変換

はどのようにこのからの移行を記述します。このエンティティに

[ComplexType()] 
public class CreditCardTransaction 
{ 
    public String SomeTransactionData { get; set; } 
} 

public class CreditCardTransaction 
{ 
    public int Id { get; set; } 
    public String SomeTransactionData { get; set; } 
} 

これは私のために生成されたものです。元のテーブルのデータを別のテーブルに簡単に移動できますか?

public partial class test : DbMigration 
{ 
    public override void Up() 
    { 
     CreateTable(
      "CreditCardTransactions", 
      c => new 
       { 
        Id = c.Int(nullable: false, identity: true), 
        SomeTransactionData = c.String() 
       }) 
      .PrimaryKey(t => t.Id); 

     AddColumn("PurchaseOrder", "Transaction_Id", c => c.Int()); 
     AddForeignKey("PurchaseOrder", "Transaction_Id", "CreditCardTransactions", "Id"); 
     CreateIndex("PurchaseOrders", "Transaction_Id"); 
     DropColumn("PurchaseOrders", "Transaction_SomeTransactionData"); 
    } 

    // Down() snipped 
} 

答えて

3

私はあなたができると信じています。 Upメソッドを変更してDropColumnを使用する前に、PurchaseOrdersからCreditTransactionsにデータを転送し、FK関係を修正するカスタムSQLでSqlメソッドを使用してください。

+0

はい、それが唯一の方法だと思われます。完了! :) –

関連する問題