2016-06-15 10 views
2

私はアクセスする必要がある(そしておそらく将来的には)2つのデータベースがあります。 最初のものは、ADO.NETエンティティデータモデルを作成してから、それからEF DBContextジェネレータを作成しました。すべてが完璧に動作します。複数のDBContext

2番目のデータベースでは同じことをしています。エラーはありません。 しかし、どちらのデータベースでもテーブルClientsがあり、問題は2番目のデータベースから生成されたClientsモデルがClientsモデルを最初のものから上書きし、MVCプロジェクトでエラーが発生するということです。

どうすればこの問題を解決できますか?


編集:TEOバンコットが提案(最初はルートフォルダに比べてモデル内のフォルダを作成した)と、一目見ただけで動作するように見えたとして は、私が行っているが、私はアプリを実行したときに、私はこの取得:

指定されたスキーマは無効です。エラー:CLRタイプからEDM タイプへのマッピングは、複数のCLRタイプがEDMタイプ 'クライアント'と一致するため、あいまいです。以前に見つかったCLRタイプ 'test.dbWCF.Clients'、新しく見つかったCLRタイプ 'test.dbSBD.Clients'。


@Gertアーノルドは、私はこの汚い回避策を "固定" 確かに、指摘したように:

対処方法:二つの同一のクラスのいずれかのプロパティを変更します。

EFはクラス名とクラスプロパティで一致します。そこで、EFオブジェクトのいずれかの プロパティ名を変更しただけで、エラーはなくなりました。

答えて

2

namespacesを使用してください。

基本的には、プロジェクト内に2つのフォルダを作成します。 DbContext1およびDbContext2。その後、別のフォルダにあなたのモデルを生成し、あなたのようなそれらを呼び出すことができるようにVSが自動的に別の名前空間でそれらを作成し、その後:名前空間は異なる可能性があること

DbContext1.Clients 

DbContext2.Clients 

注意、それはすべての依存あなたのプロジェクト構造。

+0

正常に動作していると思われます。指定されたスキーマは無効です。エラー: CLRタイプとEDMタイプのマッピングは、複数のCLRタイプがEDMタイプ 'クライアント'に一致するため、あいまいです。以前に見つかったCLRタイプ 'test.Models.WCF.Clients'は、新しく見つかったCLRタイプ 'test.Models.SBD.Clients'です。 –

+0

@RaresPまだいくつかの名前空間の問題がありますが、どのように手助けするかを理解するためにはもっと情報が必要です。すべての詳細を含む別の質問を書く方が良い –

関連する問題