2016-05-04 7 views
2

Visual Studio 2015 Community Editionで提供されるウィザードを使用して、エンティティフレームワーク6で新しいエンティティデータモデル(データベースを最初に作成)を作成しようとしています。私のテーブル名はすべて複数形になっています(例:mn_Bills)。 "Pluralize or singularize generated object names"を選択しましたが、これはオブジェクト名を特殊化しません(つまり、mn_Billsテーブルの生成クラスはmn_Bills.csファイルのmn_Billsです)。EF6 db firstアンダースコアを含むテーブル名の複数化/特異化

モデルブラウザで「名前」と「エンティティセット名」を変更しましたが、これは問題の一部のみを解決しました。生成されたクラスは、単数形の良いあるが、1つの団体へのNの外部キーの関連付けが複数形されています(テーブル名を変更することに加えて)この問題のいずれかの回避策があるかどう

public partial class mn_Bill 
{ 
    ... 
    public virtual mn_Clearing mn_Clearings { get; set; } 
} 

あなたは知っていますか?

答えて

0

EDMXウィザードで[Pluralize or singularize]オプションを選択するだけです。

enter image description here

0

私は、アンダースコアテーブル名と同様の問題に会ったし、PluralizationServiceは、アンダースコアをサポートしていないようです。

答えは、デフォルトのサービスを独自のコードでオーバーライドすることです。

私は代替のコード生成エンジンを使用しているため、データベースの最初のedmxソリューションではこれを行っていませんが、これはコード生成ステップでオーバーライドすることができます。

Entity Framework EDMX - Entity Pluralization Fix

https://blogs.msdn.microsoft.com/efdesign/2008/12/01/pluralization/

はこちらこの回答を参照してください。

関連する問題