app.configの追加パラメータを、データベースを作成するディレクトリを反映するように設定するにはどうすればよいですか?この投稿 "EF 5 + SQL Server CE 4: How to specify custom location for database file?"はプログラムによって行いますが、.configファイルにパラメータを設定したいとします。エンティティの追加パラメータを設定するフレームワーク| defaultConnectionFactory for SqlServerCe.3.5
これは私が何をしようとしたものですが、それは仕事の取得に失敗しました:
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlCeConnectionFactory, EntityFramework">
<parameters>
<parameter value="System.Data.SqlServerCe.3.5" />
<parameter value="" />
<parameter value="C:\\Users\\ericq\\Documents\\Data" />
</parameters>
</defaultConnectionFactory>
がさえてみました:
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlCeConnectionFactory, EntityFramework">
<parameters>
<parameter value="System.Data.SqlServerCe.3.5" />
<parameter value="data source=C:\\Users\\ericq\\Documents\\Data" />
</parameters>
</defaultConnectionFactory>
と:
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlCeConnectionFactory, EntityFramework">
<parameters>
<parameter value="System.Data.SqlServerCe.3.5" />
<parameter value="data source=C:\Users\ericq\Documents\Data" />
</parameters>
</defaultConnectionFactory>
そして、できませんMSDNでの例を見つける "SqlCeConnectionFactory Constructor (String, String, String)"
だから私はあなたがこの作品を作るために3つのパラメータを必要とすると仮定していますが、私は仕事にこれを取得する方法を見つけ出すためにそれを使用しようとして私のフォーマットはLINQPad5に応じて動作していない:の
ArgumentExceptionがフォーマット
:私はこれを行うときusing (var db = new BloggingContext()) { Blog mMenu = (from p in db.Blogs where p.Name.Equals("Eric Miller") select p).FirstOrDefault(); if (mMenu == null) { // Create and save a new Blog var name = "Eric Miller"; var blog = new Blog { Name = name }; db.Blogs.Add(blog); db.SaveChanges(); } // Display all Blogs from the database var query = from b in db.Blogs orderby b.Name select b; Console.WriteLine("All blogs in the database:"); foreach (var item in query) { Console.WriteLine(item.Name); } }
を、例外がトリガされます。初期化文字列は、私が使用している43
コードインデックスで始まる仕様に準拠していません
Blog mMenu = (from p in db.Blogs where p.Name.Equals("Eric Miller") select p).FirstOrDefault();
LINQPad5 App.configファイル(私はそれにそれを入力してみましょう:)
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7" />
</startup>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlCeConnectionFactory, EntityFramework">
<parameters>
<parameter value="System.Data.SqlServerCe.3.5" />
<parameter value="" />
<parameter value="C:\\Users\\ericq\\Documents\\Data" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
<provider invariantName="System.Data.SqlServerCe.3.5" type="System.Data.Entity.SqlServerCompact.Legacy.SqlCeProviderServices, EntityFramework.SqlServerCompact.Legacy" />
</providers>
</entityFramework>
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SqlServerCe.3.5" />
<add name="Microsoft SQL Server Compact Data Provider 3.5" invariant="System.Data.SqlServerCe.3.5" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=3.5.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
</DbProviderFactories>
</system.data>
</configuration>
おかげで...
ありがとうございます。要約すると、メインデータベースにはconnectionConnectionoryを使用し、他のデータベースにはconnectionStringsを使用したいと思いますが、これはデータベースを右に移動する唯一の方法です? – VcDeveloper