2

ObjectContextを使用してLocalDBデータベースに接続しようとすると、「キーワードがサポートされていません」というエラーが発生します。

これは私の接続文字列です:

<add name="connStr" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=proj1db;Integrated Security=True" />

これは、ObjectContextのインスタンスを作成しようとするコードです。

var connectionString = ConfigurationManager
                .ConnectionStrings["connStr"]
                .ConnectionString;
ObjectContext _context = new ObjectContext(connectionString);

最後の行はSystem.ArgumentExceptionをスローします:キーワードはサポートされていません:'データソース'。

Visual Studio 2012 for Webを使用しており、.NETFramework4.5を対象としています。マシンにLocalDBをインストールしています。

代わりにDbContextを使用すると、次のように機能します。

public class proj1dbContext: DbContext
{
    public proj1dbContext() : base("name=connStr")
    ...

これは同様の質問であるように思われ ます。EFコードの最初の接続文字列のヘルプです が、残念ながら、ObjectContextをインスタンス化するとそのエラーがスローされる理由に対する明確な答えは得られません。

どんな助けでも感謝されます。ありがとう!

4

1 に答える 1

3

ObjectContextプロバイダー固有の接続文字列ではなく、EF接続文字列(withMetadataおよびkeywords)を取ります。Provider Connection String

コードファーストでObjectContextを使用することはできません。ObjectContextには、メタデータXMLファイルが必要です。

于 2012-12-30T01:13:44.353 に答える