Uygulamanın yapılandırma dosyasındaki bağlantı dizesi 'MyConnection', gerekli providerName özniteliğini içermiyor. "


85

Kullandığım Entity Framework Code First,

Bağlantı dizem bir yapılandırma dosyasında:

<connectionStrings>
    <clear/>
    <add name="ApplicationServices" connectionString="Data Source=PC-X;Initial Catalog=MYdb;Integrated Security=True"/>
  </connectionStrings>

Verilere erişmeye çalıştığımda (DB'yi oluşturması gereken bir şey) aşağıdaki hatayla düşüyor:

Uygulamanın yapılandırma dosyasındaki "ApplicationServices" bağlantı dizesi gerekli providerName özniteliğini içermiyor. "

Neyi kaçırıyorum?

Yanıtlar:


183

connectionStringÖznitelikten sonra aşağıdaki kod parçasını kaçırıyorsunuz (SQL kullandığınızı varsayarak):

providerName="System.Data.SqlClient"


18
Entity Framework kullanılıyorsa:providerName="System.Data.EntityClient"
Dr1Ku

3
Bunu bağlantı dizesine eklemeye çalışıyordum. Bunun yerine, <add /> öğesine yeni bir özniteliktir. ConnectionString özniteliğinin bir kardeş özniteliği.
Sean B

@ IronMan84 SqlClient ve EntityClient'i kullandıktan sonra tür atma hatası aldım
Zia Ul Rehman Mughal

15

Gelecekte bir zaman. tam kod

<add name="YouContext" connectionString="Integrated Security=True;Persist Security Info=False;Initial Catalog=YourDatabaseName;Data Source=YourPCName;" providerName="System.Data.SqlClient"/>

1

providersEtikete ulaşana kadar web.config'inize gidin . Örneğin, işte sağlayıcımın beyanı:

<providers><provider invariantName="System.Data.SqlClient" ... /></providers>

bunu System.Data.SqlClientbağlantı dizenize sağlayıcı adı olarak eklemelisiniz , böylece bağlantı dizeniz şöyle görünmelidir:

  <connectionStrings>
 <add name="ApplicationServices" providerName="System.Data.SqlClient" connectionString="Data Source=PC-X;Initial Catalog=MYdb;Integrated Security=True"/>
  </connectionStrings>


Düzinelerce farklı yapılandırma dosyası içeren bir ürün kullanan biri olarak web.config'de bundan bahsettiğimiz için +1
apoteet

0

Benim durumumda sorun yanlış bir Başlangıç ​​projesi hedefiyle ilgiliydi. PM konsolunda, hedef geçiş derleme projesi doğruydu.

Çok projeli bir çözümüm var ve hedef bazı web hizmeti projesiydi.

Bu yüzden Başlangıç'ı ana Web Sitesi projesine değiştirdim ve geçiş hatasız tamamlandı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.