2017-10-24 9 views
1

EF 6でDBファーストアプローチを使用すると、エンティティ1、エンティティ2の形式ではなくエンティティ(ナビゲーション)プロパティ名を生成するために外部キー名を使用するときに、等?エンティティフレームワークはナビゲーションプロパティに外部キー名を使用します

たとえば、createdby、updayedbyなどの列を持つ表があり、これらがユーザー表への外部キーを持つ場合、EFは外部キーのアルファベット順を使用してあなたはUser、User1をプロパティとして使います。新しいFKが以前に生成されたUser1のFKよりも上に表示されるため、後でUser1がupdatedbyユーザにならないようにする名前を使用して、新しいFKをユーザテーブルに追加すると大きな問題になります。

ありがとうございます!

答えて

1

私は、これを行ういくつか(難解な)方法があることを知っています... EDMX作成を促進するテンプレートを手に入れてください。たぶん誰かがそれを指摘できるでしょう。しかし、サードパーティのツールを念頭に置いてください。 LLBLGen Proはこれを簡単に行うことができます。 https://www.llblgen.com/Documentation/5.3/Designer/Functionality%20Reference/ProjectSettings.htm#name-construction-name-patterns

0

生成されたEDMXファイル/図を編集し、ナビゲーションプロパティの名前をロールに合った名前に変更することができます。そのため、User1User2の代わりに、UpdatedByUserCreatedByUserに名前を変更するだけで済みます。

+0

ここではファイルが動的なので、毎回再生しています。この問題で多くのプロパティがあります。 – user3086298

1

データベースからコードを最初に取得する場合は、https://www.nuget.org/packages/EntityFramework.CodeTemplates.CSharpを使用して、プロジェクトに使用されているテンプレートを追加します。

+0

ありがとう@ErikEJ、まずはDB用に何かありますか?とにかくそこにいくつかの手がかりがあるかもしれないと私は見ていきます。 – user3086298

+0

これはデータベースファーストですが(EDMXはありません) – ErikEJ

+0

Oopsは最初にEDMXでDBを意味しました。 – user3086298

関連する問題