2016-10-14 8 views
1

EDMXからCodeFirstへ私の既存のプロジェクトを切り替えるとき、私は非常にシンプルですが、解決策を見つけるようです。実際に外部キーではない特定の列に対して外部キーを作成しないようにEF codefirstを設定するには

私は外部キーではない「グループ」というプロパティを持つエンティティ(設定)を持っていますが、私はそのように設定していません。

私はidがIdGroupである別のエンティティ(ItemsGroups)も持っていて、それらの2つのエンティティを外部キーで接続しないでください。

次に、[設定]を照会すると、[ItemGroup_IdGroup]列が生成されます。

どのようにしてこの列を生成しないようEFに指示できますか?

よろしく、

答えて

0

それは2つのエンティティ間の関係に影響を与えないようにあなたはnullとしてプロパティを設定することができます。

[ForeignKey("Group")] 
    public int? IdGroup { get; set; } 

その他の解決方法では、その属性を手動で削除する必要があります。

+0

それがキーだ、私はnullとしてそれを設定することはできませんし、また、私はそれを削除傾ける:( –

+0

あなたが(最大でDbMigrationクラスのドロップ制約を追加することができます)、SQL(で変更を適用する方法」クエリ ")メソッド も参照してください。 https://msdn.microsoft.com/en-us/data/jj591621(v=vs.113).aspx#customizing –

+0

これはありません。移行の問題 –

0

私の質問に答えるだけです。

いつものように、私のエラーです。私はプリンシパルクラスのプロパティを追加しました(しかし、別のファイルでは部分的ですが、私の防衛でCode Firstに切り替える前にそこにいました)、Entity Frameworkがそれを選択して外部キーを作成しようとしました。私はそれを機能させ、害はしませんでした。

でも、私は属性のようなものか、依存するクラスのものがあるので、プロパティを「OKです。私は関係の一部ではありません。私と何も試してはいけません。

よろしく、

関連する問題