19
  1. SqlConnectionを使用する既存のasp.netWebサイトがあります。
  2. ADO.netEntityFrameworkを追加しました。
  3. データベースに正常に接続し、.edmxファイルを作成しました。
  4. 自動的に生成されるconnectionstringを使用して、EntityFrameworkを介して接続できます。

EntityFramework接続にサイト全体で使用している既存のSqlConnectionオブジェクトを使用したいと思います。
ADO.net Entity Frameworkを使用する1つのページに2つ目のデータベース接続を使用する必要はなく、新しいEntityFramework接続文字列を使用するようにサイト全体を変更したくありません。

あなたが提供できるどんな助けにも感謝します。

4

3 に答える 3

23

そのフォーラム投稿には答えがあります:

MetadataWorkspace workspace = new MetadataWorkspace(
  new string[] { "res://*/" }, 
  new Assembly[] { Assembly.GetExecutingAssembly() });

using (SqlConnection sqlConnection = new SqlConnection(connectionString))
using (EntityConnection entityConnection = new EntityConnection(workspace, sqlConnection))
using (NorthwindEntities context = new NorthwindEntities(entityConnection))
{
  foreach (var product in context.Products)
  {
    Console.WriteLine(product.ProductName);
  }
}

"res://*/" は、xml マッピング ファイルの場所を記述する EF 接続文字列の一部です。この場合、現在のアセンブリに埋め込まれたリソースです。

于 2009-02-06T07:00:40.103 に答える
1

アンドリュー・ピーターズ

ご回答ありがとうございます。

私は System.Data.EntityClient.EntityConnection を使い回しています。

それは私の指先にありますが、MetadataWorkspace パラメーターを機能させることができないようです。

これは私が見つけた最も近い例です(回答とマークされた投稿):

http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/dd7b1c41-e428-4e29-ab83-448d3f529ba4/

助けてくれてありがとう。

于 2009-02-06T05:54:17.210 に答える