2012-04-03 4 views
3

POCO 및 컨텍스트를 만들고 NuGet (v4.3.1)에서 내 프로젝트에 EF를 추가했습니다. app.config는 내가 익숙했던 것에 비해 조금 새로운 것 같습니다. 나는 상단의 '매개 변수를'주석 및 태그에 따라 대신 다음과 같이 연결 문자열 스 니펫 (snippet)을 추가 한코드에서 자동으로 SDF를 생성하는 방법 먼저

<entityFramework> 
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"> 
    <parameters> 
    <!--<parameter value="Data Source=|DataDirectory|Test.sdf; Integrated Security=True; MultipleActiveResultSets=True" />--> 
    </parameters> 
</defaultConnectionFactory> 

:

<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 문자열을 반환하지 않았습니다." 내가 여기서 뭔가를 놓치고

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; } 
} 

암 : 여기

내 POCO 및 상황에 맞는 종류?

미리 감사드립니다.

답변

0

변경 연결 문자열 :

<connectionStrings> 
    <add name="Context" connectionString="Data Source=|DataDirectory|\Test.sdf" 
    providerName="System.Data.SqlServerCe.4.0" /> 
</connectionStrings> 

그리고 기본 연결 팩토리를 변경 :

불행하게도
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlCeConnectionFactory, EntityFramework"> 
    <parameters> 
    <parameter value="System.Data.SqlServerCe.4.0" /> 
    </parameters> 
</defaultConnectionFactory> 
+0

중 하나가 작동하지 않았다. 나는 이전에 그것을 실제로 시도했다. 프로젝트에 새 '데이터베이스 파일'을 추가하고 소스로 SQL Server CE를 선택하려고 시도했을 때 그 형식이 생성 된 것으로 나타났습니다. – Cranialsurge

+1

이름은 DbContext의 전체 이름과 일치해야하며, DbContext 생성자에서 name = CodeFirstExampleContext를 사용해야합니다. http://petebarber.blogspot.com/2012/04/using-nunit-and-entity-framework.html을 참조하십시오. – ErikEJ

관련 문제