SqlServerCe defaultConnectionFactory

#sql-server-ce #connection-string

#sql-server-ce #строка подключения

Вопрос:

Я использую Entity Framework 4.1 и пытаюсь подключиться к новой базе данных SqlServerCe 4.0 внутри веб-приложения MVC. Я использую этот код

 Database.DefaultConnectionFactory = new SqlCeConnectionFactory("System.Data.SqlServerCe.4.0", "|DataDirectory|", "test.sdf");
  

И это вызывает это исключение :

Формат строки инициализации не соответствует спецификации, начиная с индекса 86.

Что не так с этим кодом?

Если я использую

 Database.DefaultConnectionFactory = new SqlCeConnectionFactory("System.Data.SqlServerCe.4.0")
  

Он работает и создает базу данных с очень длинным именем, соответствующим имени моей сборки.

Ответ №1:

Немного поздно, но это должно помочь:

 new SqlCeConnectionFactory("System.Data.SqlServerCe.4.0", 
    "", @"Data Source=|DataDirectory|test.sdf");
  

Комментарии:

1. Спасибо. Никогда не поздно… Я попробовал ваше предложение и получаю ту же ошибку: формат строки инициализации не соответствует спецификации, начиная с индекса 71

2. Как бы то ни было, очень важно помнить, что строка должна иметь префикс @ или использовать двойную обратную косую черту. Я допустил эту глупую ошибку и столкнулся с той же ошибкой.