623

突然私はMetadataException私の生成したインスタンスを生成するObjectContextクラス。 App.Configの接続文字列は正しいように見えます - 最後に動作してから変更されていません - そして私は変更なしで基礎となるデータベースから新しいモデル(edmx-file)を再生成しようとしました。

誰かアイデアがありますか?

詳細:プロパティは変更していません。出力アセンブリの名前は変更していません。アセンブリにEDMXを埋め込むことはしていません。仕事を辞めてから戻ってくるまで10時間待っただけです。それからそれはもう働いていませんでした。

EDMXを再作成してみました。プロジェクトを再作成してみました。データベースを一から作り直すこともしました。運が悪くて、まったく。


  • 20万を超えるビューを持つ特定の製品についての質問SOの場合、その製品はユーザーが期待している方法で機能していません。マイクロソフトがこれに対処してほしいのですが。こちらには、時間がある場合にアドバイスを提供するリンクがあります。visualstudio.uservoice.com/forums/121579-visual-studio。 - Tony L.
  • 私の問題は、db-layerプロジェクトからコピーしたconnection-stringを置き換えることで解決しました。 - Hardik

30 답변


790

これは、アプリケーションがEDMXをロードできないことを意味します。これを引き起こす可能性があることがいくつかあります。

  • モデルのMetadataArtifactProcessingプロパティをCopy to Output Directoryに変更した可能性があります。
  • 接続文字列が間違っている可能性があります。私はあなたがあなたがそれを変更していないと言うことを知っています、しかしあなたが他のもの(例えば、アセンブリの名前)を変更したならば、それはまだ間違っているかもしれません。
  • EDMXをアセンブリに埋め込むためにポストコンパイルタスクを使用している可能性がありますが、何らかの理由で動作しなくなりました。

要するに、あなたの質問には正確な答えを出すのに十分な詳細はありませんが、うまくいけばこれらのアイデアがあなたを正しい方向に導くはずです。

更新:書いたトラブルシューティングのためのより完全なステップを含むブログ投稿


  • 前回、これをcontent-compareユーティリティと比較してみましたが、接続文字列だった違う。 - J. Steen
  • それも私にとってのつながりでした。独自のApp.configでconnectionstingも必要とする統合テストがある場合、edmxを更新すると同期がとれなくなる可能性があります。 - Ray Fan
  • わかりました、"埋め込み"を設定するだけで修正できました。コンパイルしてから別のものに再設定します。これで私の問題は解決しました。 - Shimmy
  • 同じ問題を抱えていた、あなたの解決策を試してみた、+ 1を与えたかった、私は過去にそれをやったことに気づいた。私は以前にこの問題を抱えていたことさえ覚えていません;)。今回は、クラスライブラリのedmxとの接続文字列が正しく、Webアプリケーションでの使用時にそれが間違っていました。 - Episodex
  • 素晴らしいガイドです。私の場合は、res:// * / MyModel2 ...が必要なときにres:// * / Database.MyModel2 ...を使用した別の接続文字列をコピーしました(データベースは統合テスト内のフォルダーです)。プロジェクト) - emragins

332

この小さな変更は、この問題に役立ちます。

私は3つのプロジェクトで解決策を持っています。

connectionString="metadata=res://*/Model.Project.csdl|res://*/Model.Project.ssdl|res://*/Model.Project.msl;

への変更

connectionString="metadata=res://*/;


  • それは私のためにそれを修正しました、しかし一体それはどういう意味ですか? - Lance Fisher
  • @ランス:私はこれを詳細に説明しますこのブログ記事 - Craig Stuntz
  • @ jocull:いいえ、それは多くの場合うまくいきませんでした、そして他では遅くなるでしょう。その理由を理解するために私のブログ投稿を読んでください。 - Craig Stuntz
  • .edmxをModelフォルダに移動し、接続文字列を更新するのを忘れました。素晴らしいポインタです。ありがとう。把握するのに何時間もかかったでしょう。 - muruge
  • あなたは非常に怒っている消費者から貧しいマイクロソフトの従業員を救った。 - The Muffin Man

110

Edmxが1つのプロジェクト内にあり、それを別のプロジェクトから使用しているときに、この例外を受け取ることがあります。

その理由はRes://*/CURRENTアセンブリ内のリソースを指すURIです。 Edmがそれを使用しているコードとは異なるアセンブリで定義されている場合、リソースが見つからないためres:// * /は機能しません。

「*」を指定する代わりに、アセンブリのフルネーム(公開キートークンを含む)を代わりに指定する必要があります。例えば:

res://YourDataAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=abcdefabcedf/YourEdmxFileName.csdl|res://...

接続文字列を構築するためのより良い方法はEntityConnectionStringBuilderを使うことです。

public static string GetSqlCeConnectionString(string fileName)
{
    var csBuilder = new EntityConnectionStringBuilder();

    csBuilder.Provider = "System.Data.SqlServerCe.3.5";
    csBuilder.ProviderConnectionString = string.Format("Data Source={0};", fileName);

    csBuilder.Metadata = string.Format("res://{0}/YourEdmxFileName.csdl|res://{0}/YourEdmxFileName.ssdl|res://{0}/YourEdmxFileName.msl", 
        typeof(YourObjectContextType).Assembly.FullName);

    return csBuilder.ToString();
}

public static string GetSqlConnectionString(string serverName, string databaseName)
{
    SqlConnectionStringBuilder providerCs = new SqlConnectionStringBuilder();

    providerCs.DataSource = serverName;
    providerCs.InitialCatalog = databaseName;
    providerCs.IntegratedSecurity = true;

    var csBuilder = new EntityConnectionStringBuilder();

    csBuilder.Provider = "System.Data.SqlClient";
    csBuilder.ProviderConnectionString = providerCs.ToString();

    csBuilder.Metadata = string.Format("res://{0}/YourEdmxFileName.csdl|res://{0}/YourEdmxFileName.ssdl|res://{0}/YourEdmxFileName.msl",
        typeof(YourObjectContextType).Assembly.FullName);

    return csBuilder.ToString();
}

それでも例外が発生する場合は、リフレクタでアセンブリを開き、.csdl、.ssdl、および.mslファイルのファイル名を確認してください。リソースの名前がメタデータの値で指定されているものと異なる場合、機能しません。


  • " YourEdmxFileName"を検討してください。修飾名でなければなりません。アセンブリで名前空間を使用する場合は、" YourNamespace.YourEdmxFileName"を使用します。ただし、アセンブリの名前と同じ名前空間の部分を削除する必要があります。 - Marcel
  • MSDNは2番目の段落が間違っていると言います。"ワイルドカード(*)を使用した場合、Entity Frameworkはすべてのアセンブリで正しい名前のリソースを探す必要があります。 - Craig Stuntz
  • 名前空間は関係ありませんが、埋め込みファイルのパスは関係ありません。そのため、関連するedmxファイルの* .Designer.csファイルを調べて、自動生成されたクラスの名前空間がMyCompanyであることに気づいたとしても、それはあなたが使うべきものではありません。代わりに、パスはassemblyname、ソリューションフォルダ名/ファイル名です。たとえば、次のようになります。&quot; metadata = res://*/EntityModels.< filename&gt; .csdl |&quot; + "res://*/EntityModels.<ファイル名&gt; .ssdl |&quot; + "res://*/EntityModels.<ファイル名&gt; .msl;&quot; - Daniel
  • @Daniel、これはほぼ正しいですが、名前空間と埋め込みファイルのパスは同じであることがあります。あなたは念のためにリフレクタ(またはそれに代わるもの)を見なければなりません。 - Craig Stuntz
  • アセンブリ名のみを使用し、version、publickeytokenなどを使用せずに動作するようです。res://MyAssembly/folder.<filename>.csdl... - Ivan Ferrer Villa

59

私も同じような間違いがありました。私はそのプロジェクトを再作成し(長い話)、古いプロジェクトからすべてを引き継ぎました。私のモデルが以前は 'Model'という名前のディレクトリにあったこと、そして今は 'Models'という名前のディレクトリにあることに気づいたことはありませんでした。私のWeb.Configでこの接続を変更したら:

<add name="RecipeManagerEntities" connectionString="metadata=res://*/Model.Recipe.csdl 

これに:

<add name="RecipeManagerEntities" connectionString="metadata=res://*/Models.Recipe.csdl

すべてうまくいった(変更されたModelModels)この文字列のこの3つの場所を変更しなければならなかったことに注意してください。


  • Entity FrameworkモデルをModelからDALに移動しました。しかしそれから、Linqの述部ビルダーをテストするためにテストプロジェクトでテスト(1週間後)を書いたとき。私はこのエラーを受けました。テストプロジェクトApp.configをメインプロジェクトのweb.configでの表示方法で修正しました - 3か所で述べたとおりです。だからあなたの簡単な答えは軌道に乗った。 - Patrik Lindström
  • はい、ありがとうございます - あなたのファイル名を確認してください。どういうわけか私は古い名前を持っていました。 - PeterX
  • 両者に違いはありますか。 - Erwin Rooijakkers
  • @ErwinRooijakkersモデルvsモデルS - Marc
  • と言っています:) - Erwin Rooijakkers

25

そしてReflectorなしでモデル名をチェックする簡単な方法....ディレクトリを探す

... obj / {config output} / edmxResourcesToEmbed

そして、.csdl、.msl、および.ssdlリソースファイルがあることを確認します。それらがサブディレクトリにある場合は、サブディレクトリの名前をモデル名の前に付ける必要があります。

たとえば、私の3つのリソースファイルはサブディレクトリにあります。データだから、私の接続文字列は

metadata = res:// * /データ.MyModel.csdl | res:// * /データ.MyModel.ssdl | res:// * /データ.MyModel.msl;

(対メタデータ= res://*/MyModel.csdl | res://*/MyModel.ssdl | res://*/MyModel.msl;)。


  • これはまさに私の問題でした。これで数時間を失いました。この簡単な説明をありがとうございました - Fernando Carvalhosa
  • 素晴らしい答えです、実際にあなたの弦が何であるかを見つける方法を説明します。また、サブフォルダに&#39;があることを示しています。区切り記号としてではなく、&#39; \&#39;または&#39; /&#39; - cjb110

15

私もこの問題を抱えていました、そしてそれは私のEDMXが配置されているアセンブリのapp.configのものと私のweb.configのconnectionstringがわずかに異なっていたためでした。なぜ変更されたのかわかりませんが、2つの異なるバージョンがあります。

App.config:

<add name="SCMSEntities" connectionString="metadata=res://*/Model.SMCSModel.csdl|res://*/Model.SMCSModel.ssdl|res://*/Model.SMCSModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=SANDIEGO\sql2008;initial catalog=SCMS;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient" />

Web.config:

<add name="SCMSEntities" connectionString="metadata=res://*/Model.SCMSModel.csdl|res://*/Model.SCMSModel.ssdl|res://*/Model.SCMSModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=SANDIEGO\sql2008;initial catalog=SCMS;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

修正されたのは、単にapp.config文字列をコピーすることでした(末尾の小さな違いに注意してください - "の代わりにApp=EntityFramework「欲しかった」application name=EntityFramework")web.configにし、問題が解決されました。:)


  • ありがとう、これは本当に私の問題でした。私はEFでDBにアクセスする1つのプロジェクトと別のプロジェクトWCFを持っていました。最初のプロジェクトの名前を変更した後、私の最初のプロジェクトのApp.configでconnectionStringが変更されました。だから私はweb.configにもプロジェクトWCFのconnectionStringを変更する必要がありました:) - Volkan
  • MSDNのドキュメントからdocs.microsoft.com/ja-jp/dotnet/framework/data/adonet/…The .NET Framework data provider for SQL Server (SqlClient) supports many keywords from older APIs, but is generally more flexible and accepts synonyms for many of the common connection string keywords.Entity Frameworkの接続文字列はその柔軟性を共有していないため、必要なキーワードのみを使用する必要があります。 - Suncat2000

12

これは私が誤って(IDEの[プロパティ]の下に表示される)edmxファイルのビルドアクションを 'EntityDeploy'から 'None'に切り替えたときに起こりました。 EntityDeployはあなたのためにメタデータをポピュレートするものです:http://msdn.microsoft.com/en-us/library/cc982037.aspx


  • これは私の修正でした - 私はそれをコピーしたので私は私のedmxを.oldに変更し、いくつかのことを試していました。私の問題:) - eth0
  • 私は自分のEDMXファイルを別のフォルダーに移動し、組み込みリソース名も更新されるようにビルド・アクションを変更しなければなりませんでした。ありがとうございます。 - David

7

これで幸せな30分を過ごしました。エンティティオブジェクトの名前を変更し、設定ファイルのエントリの名前を変更しましたが、それ以外にもcsdlへの参照を変更する必要があります。

見逃しがちです - 名前を変更している場合は、必ず入手してください。すべてのもの……


5

私はVisual Studio 2010、VB.net(ASP.NET)4.0でこれを解決することができました。

エンティティモデルウィザードの間に、エンティティ接続文字列を見ることができます。そこからあなたの接続文字列にコピーして貼り付けることができます。

私が欠けていた唯一のものは "App_Code"でした。接続文字列で。

entityBuilder.Metadata = "res://*/App_Code.Model.csdl|res://*/App_Code.Model.ssdl|res://*/App_Code.Model.msl"


  • 残念ながら、ウィザードの接続文字列はapp.configには正しくありません。 @leqidはモデルへのパスを修正するための良い方法を提案しました。 - Der_Meister

5

私は同じ問題を抱えていました。私は反射鏡で私の迎合的なdllを調べました、そして、資源の名前が正しくなかったのを見ました。私は名前を変更し、それは今大丈夫に見えます。


5

私の場合は、edmxファイルのプロパティを変更することで解決します。

  1. edmxファイルを開く
  2. EDMXデザイナーの任意の場所を右クリック
  3. プロパティを選択
  4. 「メタデータアーティファクト処理」というプロパティを「出力アセンブリに埋め込む」に更新

これで問題は解決しました。 問題は、コンテナがメタデータを見つけようとしたときに、見つけられないことです。だから同じアセンブリでそれを作るだけです。 別のアセンブリにedmxファイルがある場合、この解決策は機能しません


  • +1,000,000これが今日私にとって根本的な問題でした。製品のネームスペースを再編成し、アセンブリを統合するのは面倒です。 - Mike

5

私はこのエラーに一日を費やした

一緒に働いているならn-tear architecture

またはあなたがしようとしたseparate Modelsによって生成されますEDMXDataAccessLayerからDomainModelLayer

多分あなたはこのエラーが出ます

  1. 最初のトラブルシューティング手順は、接続文字列を確認することです。webconfig (UILayer)そしてappconfig (DataAccessLayer)同じだ
  2. 非常に重要ですconnection string

    connectionString="metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provid.....
    

    これが問題です

地球上のどこから手に入れたModelまたは、接続文字列内の任意の.csdl

ここで私の解決策は絵を見て

enter image description here

助けてくれることを願っています


4

究極の解決策(EDMXや他の雑貨と同様に他の2台のマシンでデータベースを再作成した後でも)は、Entity Frameworkの初版を使用しないことでした。 .NET 4.0でそれをもう一度評価するのを楽しみにしています。

同じ問題に遭遇した後再び私はついに同じ問題を抱えている人を見つけました。接続文字列がVisual Studioのウィザードによって正しく生成されなかったようで、メタデータリソースへのリンクに重要なパスがありませんでした。

v1.0 BUG ?:指定されたメタデータリソースを読み込めません。スクリプト!=モデル

更新2013-01-16:EF Code Firstのプラクティスをほぼ独占的に使用することに移行したため(既存のデータベースでも)、この問題はもはや問題になりません。私にとって、これは自動生成されたコードや設定による混乱を減らし、製品に対する私自身の管理を強化するための実行可能な解決策でした。


4

私の問題と解決策、症状は同じ「指定されたメタデータリソースをロードできません」でしたが、根本的な原因は異なりました。私は2つのプロジェクトをソリューションとして持っていました。1つはEntityModel、もう1つはソリューションです。実際にEntityModelのEDMXファイルを削除して再作成しました。

解決策は、Webアプリケーションプロジェクトに戻って、この行を設定ファイルに追加しなければならなかったことです。新しいモデルは、 "other"プロジェクトのWeb.Configファイルで複製しなければならない項目をいくつか変更しました。古い設定はもはや良くありませんでした。

     <add name="MyEntities"
     connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;
                    provider=System.Data.SqlClient;
                    provider connection string=&quot;
                    data source=Q\DEV15;initial catalog=whatever;
                    user id=myuserid;password=mypassword;
                    multipleactiveresultsets=True;
                    application name=EntityFramework&quot;"
     providerName="System.Data.EntityClient" />



4

何時間ものグーグルで解決しようとすると、解決策はどれもうまくいきませんでした。ここにいくつか解決策を挙げました。私は私のために働いたものにも注目しました。 (私はEFバージョン6.1.1、およびSQL Server 2014を使用していましたが、古いDBを使用しています)

  1. プロジェクトを再構築してやり直してください。
  2. VSを閉じて開く - これがどのように機能するのかわかりません
  3. .EDMXファイルをディレクトリ内に配置したかどうかを確認し、ディレクトリをConnectionStringに含めるようにしてください。例えば私のものはDALフォルダの中にあります。だからそれはこのように見えます:connectionString="metadata=res://*/DAL.nameModel.csdl|res://*/DAL.nameModel.ssdl|res://*/DAL.nameModel.msl;(これらはファイルです。それらを見るには、ソリューションエクスプローラーの〜/ obj / ..ディレクトリの下にあるすべてのファイルを表示を切り替えることができます)

...そして私が試した多くのこと[EntityFrameworkのバージョンを新しいバージョンに戻すこと(それについてはよくわからない)]


私にとってうまくいったこと:

これから記事はこちら、それは私が私の問題を解決するのを助けました。私はちょうど私を変えましたProviderManifestToken="2012"ProviderManifestToken="2008"EDMXファイル内。これをする:

ソリューションエクスプローラ

  1. ファイル.edmxを右クリックし
  2. で開く
  3. XMLエディタ
  4. 2008でProviderManifestToken = "XXXX"を変更します。

それが役立つことを願っています。


  • 私は最近何も変更を加えなかった後にこの問題を抱えていました。無駄にVSを再起動しようとしましたが、それからそれはクリーニングと再構築によって修正されました。だから、他の人たちにとって、あなたが何も変更をせず、それ以外の部分のどれにも関連性がないようなら、クリーン/リビルドを試してみてください。 - Greg

3

私の場合、この問題はモデルのedmxファイルの名前を変更することに関連していました... csdl / ssdl / mslファイルのapp.config接続文字列を修正することで問題が解決しました。

EF 4.0デザイナを使用してcsdl / ssdl / mslを生成している場合、これら3つの「ファイル」は実際にはモデルのメインのedmxファイルに格納されます。この場合、Waqasによる投稿はほぼ注目に値します。この例の "Model_Name"は、モデルの.edmxファイルの現在の名前(.edmxを除く)に変更する必要があることを理解することが重要です。

また、edmxファイルがプロジェクトのルートレベルにない場合は、Model_Nameの前に相対パスを付ける必要があります。

res://*/MyModel.WidgetModel.csdl|res://*/MyModel.WidgetModel.ssdl|res://*/MyModel.WidgetModel.msl

csdl / ssdl / msl xmlは、モデルファイル 'WidgetModel.edmx'に保存され、 'MyModel'という名前のフォルダーに保存されます。


3

ObjectContextオブジェクトがそれを使用しているプロジェクトとは異なるプロジェクトで定義されている場合にそれらのインスタンスを作成するために、このヘルパークラスを作成しました。設定ファイルの接続文字列を解析し、「*」を完全なアセンブリ名に置き換えます。

それはオブジェクトを構築するためにリフレクションを使用するので完璧ではありませんが、それは私が見つけることができるそれをする最も一般的な方法です。

誰かに役立つことを願っています。

public static class EntityHelper<T> where T : ObjectContext
{
    public static T CreateInstance()
    {
        // get the connection string from config file
        string connectionString = ConfigurationManager.ConnectionStrings[typeof(T).Name].ConnectionString;

        // parse the connection string
        var csBuilder = new EntityConnectionStringBuilder(connectionString);

        // replace * by the full name of the containing assembly
        csBuilder.Metadata = csBuilder.Metadata.Replace(
            "res://*/",
            string.Format("res://{0}/", typeof(T).Assembly.FullName));

        // return the object
        return Activator.CreateInstance(typeof(T), csBuilder.ToString()) as T;
    }
}


3

みんなのためSelftrackingEntitiesユーザー、 Microsoftのウォークスルーに従い、Objectコンテキストクラスを wcfサービスプロジェクト(コンテキスト.ttにリンクすることによって)なので、この答えはあなたのためです。

この記事で示した回答の一部で、次のようなコードが含まれています。

... = string.Format("res://{0}/YourEdmxFileName.csdl|res://{0}/YourEdmxFileName.ssdl|res://{0}/YourEdmxFileName.msl", 
        typeof(YourObjectContextType).Assembly.FullName); 

あなたのために働かないでしょう!その理由はYourObjectContextType.Assembly(wcfプロジェクトアセンブリ内の)異なるアセンブリ内に存在するようになりました。

だからあなたは交換する必要がありますYourObjectContextType.Assembly.FullNameと - >

ClassTypeThatResidesInEdmProject.Assembly.FullName 

楽しむ。


3

これは私が新しい.edmxデザイナーを構築する前に解決策をきれいにしないと私に起こります。ですから、新しい.edmxデザイナーを構築する前に、ソリューションをきれいにすることを忘れないでください。これは私がこの問題に関してもっと多くの問題をスキップするのを助けます。ビジュアルスタジオが初めての場合は、提供されるナビゲーションの詳細を確認してください。

クリック - >ビルド - >クリーンソリューション

それからクリック - >ビルド - >ソリューションの再構築

お役に立てれば。みんな、ありがとう


2

私はこれと同じエラーメッセージに問題がありました。私の問題は、Visual Studio 2010を閉じて再度開くことで解決しました。


2

私はアセンブリの名前を変更したので同じ問題を抱えていました。

また、Properties / AssemblyInfo.csプロジェクトのAssemblyTitle属性とAssemblyProduct属性で名前を変更し、edmxファイルへの参照を削除して追加し直す必要がありました。

それからそれはちょうどうまくいきました。


2

同じ問題を抱えながら、データベースからedmxを再作成しました。 私の問題を解決しました。


  • 残念ながら、それは症状ではなく原因に対処します。 - cbillowes

2

例外は、コンパイラが存在しないメタデータを指しているため、単にコピーすることです。app.config接続文字列Web.configConnectionString


1

既存の.edmxを新しいプロジェクトにインポートしていて、ベース名前空間が別のサブディレクトリにインポートされていても接続を更新しなければならなかった以外は、Rickと同じ問題と解決策がありました。異なるサブディレクトリ名を含めるための、3か所にあるWeb.Config内の文字列。


1

プロジェクトをソリューションルートに移動したときに、ソリューションフォルダーにプロジェクトが含まれていたソリューションでも同じ問題が発生しました(プロジェクトの場所によるMvc3AppConverterのバグの疑いを克服するため)。

*すべての*プロジェクト参照が必要に応じて再追加された後にソリューションがコンパイルされましたが、Webサイトの起動時にエラーが発生しました。

EDMXは移動されたプロジェクトの1つ( 'Data'プロジェクト)にありますが、もちろんDataプロジェクトへの参照がないことでコンパイルエラーは発生せず、単に実行時エラーが発生しました。

欠けている参照を主プロジェクトに追加するだけでこの問題は解決され、接続を編集する必要はまったくありません。

これが他の人に役立つことを願っています。


1

質の悪いapp.configファイルまたはweb.configファイルでこれを実行できます。Upでapp.config接続文字列を自分のweb.configにコピーし、次のように入力していました。

<connectionStrings>
    <connectionStrings>
          <add name="name" connectionString="normalDetails"/>
    </connectionStrings>
</connectionStrings>


1

EDMXファイルを含むクラスライブラリを参照していませんでした。



1

別のプロジェクトのedmxを使用している場合は、接続文字列を変更します。

metadata=res://*/Data.DataModel.csdl

...に...

metadata=res://*/DataModel.csdl


0

私の理論は、もしあなたが同じ名前の複数のedmxファイル(例えばModel1)を持っているなら、それはその例外を与えるということです。 私はそれらが独立しているべきであると思ったのでModel1として私が私のすべてのedmxファイルに名前を付けることに決めたとき同じ問題を持っています。


0

この例外のもう1つの原因は、ObjectQueryに関連テーブルを含めるのに、間違ったナビゲーションプロパティ名を入力した場合です。

例:

var query = (from x in myDbObjectContext.Table1.Include("FKTableSpelledWrong") select x);

リンクされた質問


関連する質問

最近の質問