2

エンティティ フレームワークを使用してコードからデータベースを作成したいと考えています。データベース サーバーは、Window Server 2012 データ センター上の MS SQL 2012 BI です。

MSDNの例でこれをやろうとしています。私の構成は次のようになります。

  <defaultConnectionFactory
        type="System.Data.Entity.Infrastructure.SqlConnectionFactory, 
            EntityFramework">
      <parameters>
        <parameter value="Data Source=databaseserver;User Id=name;Password=password; MultipleActiveResultSets=True " />
      </parameters>
    </defaultConnectionFactory>

「ユーザー xy のログイン時にエラーが発生しました」、「データベースを開けませんでした」という SqlException が発生しています。必要に応じてコードでデータベースを生成したいので、これは明らかです。(MSDN の例はここにあります: http://msdn.microsoft.com/de-de/data/jj193542 )

編集:混乱を避けるために、私がやりたいことのいくつかの事実:

  • 私は、1 人の Sql ユーザーと何もない Msql サーバー セットアップを持っています。

  • データベースに書き込みたいクラスがあります。

  • 上記の例でこれを実行しようとしていますが、DataBase/DataBase-tables の接続および/または作成に失敗します。
4

2 に答える 2

0

私はそれを機能させることができました。私の現在のソリューションは、エンティティ フレームワークでの作業を何らかの形で拒否しているようです。新しいソリューションを作成しようとしましたが、うまくいきました。解決策でエラーを見つけようとします。

于 2013-06-14T21:04:27.980 に答える
0

構成ファイルに接続文字列を追加します

    <configuration>
    ...

      <connectionStrings>
        <add name="DerivedClassNameFromDbContext" connectionString="Data Source=.\; Initial Catalog=DbName; Persist Security Info=True; User ID=Username; Password=pass" providerName="System.Data.SqlClient"/>
      </connectionStrings>

    ...
    </configuration>

または、次のように DbContext からの派生クラスでコンストラクターを使用して接続文字列を設定します。

public class EFDbContext : DbContext
    {
        ...

        public EFDbContext()
        {
             Database.Connection.ConnectionString =
                @"Data Source=.\; Initial Catalog=DbName; Persist Security Info=True; User ID=Username; Password=pass";
        }
    }

ここに画像の説明を入力

于 2013-06-11T21:23:00.343 に答える