2016-04-06 54 views
1

Entity Frameworkに問題があり、移行(データベース更新)と外部キー注釈を実行しています。私が手 エラーメッセージは後に次のとおりです。[...] update-database –verboseコード一次移行での外部キーエラー:列を削除できません

Applying automatic migration: 201604060846578_AutomaticMigration. 
IF EXISTS (SELECT name FROM sys.indexes WHERE name = N'IX_OutreachSet_TargetContact' AND object_id = object_id(N'[dbo].[DiagnosticsSets]', N'U')) 
    DROP INDEX [IX_OutreachSet_TargetContact] ON [dbo].[DiagnosticsSets] 
IF EXISTS (SELECT name FROM sys.indexes WHERE name = N'IX_OutreachSet_TargetContact' AND object_id = object_id(N'[dbo].[MotivationSets]', N'U')) 
    DROP INDEX [IX_OutreachSet_TargetContact] ON [dbo].[MotivationSets] 
DECLARE @var0 nvarchar(128) 
SELECT @var0 = name 
FROM sys.default_constraints 
WHERE parent_object_id = object_id(N'dbo.MotivationSets') 
AND col_name(parent_object_id, parent_column_id) = 'TargetContact'; 
IF @var0 IS NOT NULL 
    EXECUTE('ALTER TABLE [dbo].[MotivationSets] DROP CONSTRAINT [' + @var0 + ']') 
ALTER TABLE [dbo].[MotivationSets] DROP COLUMN [TargetContact] 

The object 'PK_dbo.MotivationSets' is dependent on column 'TargetContact'. 
ALTER TABLE DROP COLUMN TargetContact failed because one or more objects access this column. 

私はちょうど0したいのですが:0 ... 1の関係を。それでおしまい。

私はちょうどこの例ではEF Code-First One-to-one relationship: Multiplicity is not valid in Role * in relationship

public class OutreachSet 
    { 
     [Key] 
     [Display(Name = "Target Contact")] 
     public string TargetContact { get; set; } 


     [Display(Name = "Next Outreach Step")] 
     public string NextOutreachStep { get; set; } 

     public virtual MotivationSet MotivationSet { get; set; } 
} 

public class MotivationSet 
    { 
     [Key, ForeignKey("OutreachSet")] 
     public string TargetContact { get; set; } 

     public string PowerMastery { get; set; } 


     [Required] 
     public virtual OutreachSet OutreachSet { get; set; } 
    } 

答えて

0

のように私はそれを自分で解決だと思い、それを実行しようとしましたと思います。 私はこれをしなかった:How to re-create database for Entity Framework?

この起こったが、私は

ありがとう幸せになるだろう、なぜ誰もが、まだ私に言うことができれば!

+1

マイグレーションがデフォルトで処理できない方法でモデルが変更された可能性があります。たとえば、IDステータスの変更、FKリネームなどがその例です。すべてを削除してからやり直すことで名前の変更を避け、すべてがゼロから作成されます。 http://stackoverflow.com/questions/17894906/ef-migration-for-changing-data-type-of-columns –

+0

ゼロから始められない場合はどうすればよいですか? – TWilly

関連する問題