Ну, учитывая, что помимо ответа Эрика решения не были предоставлены, мы должны предположить, что вы не можете указать, какой вкус SQL Server LocalDb вы хотите использовать при использовании sqllocaldb
в строке соединения.
Недостатком решения Erik является то, что он не играет хорошо с другими приложениями, которые могут использовать экземпляр по умолчанию LocalDb (MSSqlLocalDB.exe создает «MyNamedInstance» 12.0-s). Я нашел другой подход при использовании так называемого именованного экземпляра: экземпляр LocalDb, приватного для вашего приложения. При определении именованного экземпляра вы можете указать версию LocalDb, которую хотите использовать: 12.0 для LocaldDb 2014, 13.0 для Localdb 2016.
Существует два способа создания именованного экземпляра:
- Использование
sqllocaldb
инструмента командной строки:
-s
-s
Параметр запускает экземпляр немедленно.
- Указание именованного экземпляра в app.config:
Для этого добавьте <configSections>
тег:
<section name="system.data.localdb"
type="System.Data.LocalDBConfigurationSection,System.Data,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089"/>
Затем добавьте новый тег:
<system.data.localdb>
<localdbinstances>
<add name="MyNamedInstance" version="12.0" />
</localdbinstances>
</system.data.localdb>
Теперь вы можете указать именованный экземпляр в строке соединения, таким образом:
"Data Source=(localdb)mynamedinstance"