Я создал POCO и контекст и добавил EF в свой проект из NuGet (v4.3.1). app.config выглядит для меня немного новым по сравнению с тем, к чему я привык. Там есть этот раздел:
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
<parameters>
<!--<parameter value="Data Source=|DataDirectory|Test.sdf; Integrated Security=True; MultipleActiveResultSets=True" />-->
</parameters>
</defaultConnectionFactory>
I've commented out the 'parameter' and add a connection string snippet instead like this under the tag at the top:
<connectionStrings>
<add name="CodeFirstExampleContext" connectionString="Data Source=|DataDirectory|Test.sdf;Initial Catalog=CodeFirstExample;integrated security=True" providerName="System.Data.SqlServerCe.4.0" />
</connectionStrings>
Раньше с такой строкой подключения база данных SQL CE создавалась автоматически. однако сейчас он этого не делает. Вместо этого я получаю следующее исключение:
«Произошла ошибка при получении информации о поставщике из базы данных. Это может быть вызвано тем, что Entity Framework использует неверную строку подключения. Подробные сведения см. во внутренних исключениях и убедитесь, что строка подключения верна».
Внутреннее исключение:
«Поставщик не вернул строку ProviderManifestToken».
Вот мои типы POCO и Context:
class Person
{
[Key]
public int Id { get; set; }
public string FName { get; set; }
public string LName { get; set; }
public int Age { get; set; }
}
class Context:DbContext
{
public DbSet<Person> People { get; set; }
}
Я что-то упустил здесь?
Заранее спасибо!