2012-08-16 5 views

Odpowiedz

18

W toku dalszych badań wygląda na to, że jest to naprawdę proste, ale nie jest jasne, kiedy czyta się dokumenty.

Przede wszystkim trzeba mieć część Entity Framework konfiguracji

<entityFramework> 
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> 
    <parameters> 
    <parameter value="v11.0" /> 
    </parameters> 
</defaultConnectionFactory> 

Gdy trzeba, że ​​następnie trzeba określić ciąg połączenia. Domyślnie nazwa ciągu połączenia jest pełną nazwą kontekstu. Więc w moim app testu, kontekst był nazywany „DataModel.Context”, więc muszę ciąg połączenia dla „DataModel.Context”

<connectionStrings> 
<add name="DataModel.Context" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=database;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\database.mdf" providerName="System.Data.SqlClient" /> 

ten następnie używa pliku „database.mdf” w katalog danych projektu.

+3

W której sekcji należy umieścić ? –

+0

@WouterSchut checkout moje wyjaśnienie – Yar

2

Jak wspomniał Nick, musisz podać poza tagami z <entityFramework>. Więc próbka App.config może być tak:

<?xml version="1.0" encoding="utf-8"?> 
<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> 
    <connectionStrings> 
    <add name="CSOMLocalDataProvider.CSOMContext" 
    connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=D:\path\to\Database.mdf;Integrated Security=True" providerName="System.Data.SqlClient"/> 
    </connectionStrings> 
    <entityFramework> 
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> 
     <parameters> 
     <parameter value="mssqllocaldb" /> 
     </parameters> 
    </defaultConnectionFactory> 
    <providers> 
     <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> 
    </providers> 
    </entityFramework> 
</configuration> 

pamiętać również, że <parameter value="mssqllocaldb" /> zależy od wersji SQL Server. Check this answer for more information.