2013-07-22 2 views
1

안녕하세요, 팁을 읽은 후에도 컨트롤러를 만들기 위해 MVC에 문제가 있습니다. DbContext에 생성자를 추가하고, 작동하지 않는 것을 삭제하고, providerName = "System.Data.SqlClient"등을 변경합니다. 이 같은asp.net 메타 데이터를 검색 할 수 없습니다.

내 모델 클래스의 모습 :

<add name="ApplicationServices" 
    connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" 
    providerName="System.Data.SqlClient" /> 
<add name="RecruiterDBContext" 
    connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Recruiters.mdf;Integrated Security=True" 
    providerName="System.Data.SqlClient" 
/> 

어떤 조언 :

public class RecruiterModel 
{ 
    public string CompanyName { get; set; } 
    public string Website { get; set; } 
    public string CompanySize { get; set; } 
    public string LinkedInCompanyURL { get; set; } 
    public string LinkedInID { get; set; } 
    public string Specialities { get; set; } 
    public string Category { get; set; } 
    public string Location { get; set; } 
    public int ContactPhone { get; set; } 
    public string ContactEmail { get; set; } 
} 

public class RecruiterDBContext : DbContext 
{ 

    public DbSet<RecruiterModel> Recruiters { get; set; } 
} 

내 Web.config의의 connectionStrings은 다음과 같습니다?

답변

0

당신에게 Recruiter 클래스 다음 속성을 추가

public string Id { get; set; } 

을 또는 기존의 속성 중 하나에 Key 속성을 적용합니다. 예를 들어 : MSDN에

[Key] 
public string CompanyName { get; set; } 

, 당신은 Code First Conventions 주제를 가지고

기본 키 협약을

코드 첫 번째는 속성이 기본 키임을 추론 만약 의 속성 클래스의 이름이 "ID"(대소 문자 구분 없음)이거나 클래스 이름이 이고 "ID"인 경우 기본 키 속성 유형이 숫자 또는 GUID이면 은 ID 열로 구성됩니다.

public class Department 
{ 
    // Primary key 
    public int DepartmentID { get; set; } 

    . . .  

} 

주제에 또 다른 기준이 Code First DataAnnotations 문서에서 구성됩니다

엔티티 프레임 워크가 사용하는 키 값 (일명 EntityKey)를 가진 모든 개체에 의존 추적 엔티티. 코드가 먼저 의존하는 규약 중 하나 인 은 각각의 코드 첫 번째 클래스에서 어떤 속성이 키 의 속성인지 의미합니다. 이 컨벤션은 이며 속성은 "Id"이거나 클래스 이름과 "Id"는 이고 "BlogId"는입니다. EF에서 EntityKey를 사용하는 것 외에도 속성은 데이터베이스의 기본 키 열에 매핑됩니다.

+0

안녕하세요, 알렉스, 그 솔루션을 시도한 후 여전히 동일한 오류가 발생하고 전체 오류 : 'Recruiter.Models.RecruiterModel'에 대한 메타 데이터를 검색 할 수 없습니다. 'attachdbfilename'키의 값이 잘못되었습니다. – user2606847

+0

SQLExpress를 사용하는 경우 연결 문자열을 수정하십시오. 'connectionString = "data source =. \ SQLEXPRESS; Integrated Security = SSPI;" –

+0

방금 ​​시도한 것과 같은 오류가 발생했습니다. ASP.net 영화 프로젝트 예제에서 프로젝트 아이디어를 따르려고합니다. http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-model – user2606847

0

내가 컨트롤러 클래스를 만들 수있는 솔루션을 발견 : 내가

사용 System.ComponentModel.DataAnnotations을 추가 한 모델 클래스에 ;

공개 클래스 RecruiterModel { [Key] public string Id {get; 세트;

웹상에 있습니다.설정 내가

다음 내가 컨트롤러를 만들어 전체

connectionStrings 태그를 주석 그러나 그것은했다.

감사 GOS 알렉스 Filipovici 및 어린 양 밖으로 -에 MSFT : http://forums.asp.net/t/1888573.aspx/1?Unable+to+retrieve+metadata+for+when+trying+to+create+a+controller

는 내가 DB 파일 ... 흠 또 다른 문제가 표시되지 App_Data에서 솔루션 탐색기 탭에서 만 작동하지만.

관련 문제