1

この命令を使用して、ADO.NETエンティティデータモデルを作成しました。2つの新しいクラスがあります。

namespace Parser
{
    public partial class advert : EntityObject
    {
        ///////////
    }

    public partial class test_workEntities1 : ObjectContext
    {
       ///////
    }
}

次に、次のクラスを作成しました。

namespace Parser
{
    public class BdProvider
    {
        public void InsertAdv()
        {
            advert adv = new advert();
            test_workEntities1 f = new test_workEntities1();

            adv.adress = "adress 1";
            adv.const_link = "domain.com";
            adv.count_room = 10;

            f.advert.AddObject(adv);
        }
    }
}

そして、次のコンソールアプリケーションを作成しました。

namespace TestApp
{
    class Program
    {
        static void Main(string[] args)
        {
            BdProvider bd = new BdProvider();
            bd.InsertAdv();
            Console.ReadKey();
        }
    }
}

アプリケーションを実行すると、次のように表示されます。

指定された名前付き接続が構成に見つからないか、EntityClientプロバイダーでの使用を目的としていないか、無効です

スタックトレース:

System.ArgumentExceptionのнеобработаноメッセージ=Указанноеименованноесоединениененайденовконфигурации、непредназначалосьдляиспользованияспоставщикомEntityClientилинедопустимо。Source = System.Data.Entity StackTrace:•System.Data.EntityClient.EntityConnection.ChangeConnectionSt ring(String newConnectionString)•System.Data.EntityClient.EntityConnection..ctor(String connectionString)•System.Data.Objects.ObjectContext.CreateEntityConnection( Str ing connectionString)•System.Data.Objects.ObjectContext..ctor(String connectionString、String defaultContainerName)•Parser.test_workEntities1..ctor()•C:\ proj \ Parser \ Model1.Designer.cs:строка34•パーサー。 BdProvider.InsertAdv()×C:\ proj \ Parser \ BdProvider.cs:строка28×TestApp.Program.Main(String [] args)×C:\ proj \ TestApp \ Program.cs:строка21×システム。

別のconnectionStringを使用してtest_workEntities1を作成しようとしましたが、成功しませんでした。

私のconnectionStringは

<connectionStrings>
    <add name="test_workEntities1" 
         connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=PKVZALE\SQLEXPRESS;Initial Catalog=test_work;Integrated Security=True;MultipleActiveResultSets=True&quot;" 
         providerName="System.Data.EntityClient" />
  </connectionStrings>
4

2 に答える 2

1

TestApp構成ファイルに接続文字列を追加する必要があります。

現在、プロジェクトのapp.configファイルに含まれていますが、Parserプロジェクトを介してアプリケーションを実行しているTestAppため、.NET はこのプロジェクトで設定を探しています。

// 拡張された回答

app.config、プロジェクトのルート フォルダーに作成できます。Parserこれは、プロジェクトからコピー/貼り付けするか、 msdnの次の手順を使用して行うことができます

C# プロジェクトにアプリケーション構成ファイルを追加するには

  1. [プロジェクト] メニューの [新しい項目の追加] をクリックします。

    [新しい項目の追加] ダイアログ ボックスが表示されます。

  2. アプリケーション構成ファイル テンプレートを選択し、[追加] をクリックします。

    app.config という名前のファイルがプロジェクトに追加されます。

于 2013-01-17T12:00:58.510 に答える
1

エンティティ フレームワーク (別のプロジェクトのEF)がある場合は、次の 3 つのことを行う必要があります。

  1. EF プロジェクトの接続文字列

  2. 別のプロジェクトでの参照

  3. 別のプロジェクトのEF接続文字列

于 2013-01-17T12:06:48.517 に答える