2014-11-24 4 views
1

데이터베이스에 SQL Server R2를 사용하고 있습니다. 지금은 자주 이런 종류의 오류를 얻고있다 :mvc5에서 OnModelCreating 구현

'System.Data.Entity.Core.EntityCommandExecutionException가'EntityFramework.SqlServer.dll에서 발생했지만 사용자 코드
추가 정보 처리되지 않은 유형의 예외를 : 명령 정의를 실행하는 중 오류가 발생했습니다. 자세한 내용은 내부 예외를 참조하십시오.
의 InnerException : { ". 잘못된 열 이름 'someColumn'"} 모델의 여기

모든 일이 잘 또한 데이터베이스입니다. dbcontext 캐시 때문입니다. 내가 프로젝트를 실행할 때마다 dbcontext를 지우고 다시 바인딩하고 싶습니다. 내가 솔루션에 대한 봤 거든 this 솔루션을 가지고 있지만 이런 식으로 선언 한 후 원하는 작업을 수행 할 수 없습니다.

public class EFDbContext: DbContext 
{ 
    public DbSet <utblCategoryMaster> utblCategoryMasters { get; set; } 

    public DbSet <utblsubCategoryMaster> utblSubCategoryMasters { get; set; } 

    protected override void OnModelCreating(DbModelBuilder modelBuilder) 
    { 
     base.OnModelCreating(modelBuilder); 
    } 
} 

저는 MVC를 처음 사용하고 있으며 엔티티 프레임 워크를 새로 고치는 방법을 모르겠습니다. 어떤 해결책이 있습니까?

답변

0

엔터티 프레임 워크 모델 캐싱은 AppDomain 수준에서만 수행되므로 프로젝트를 만들거나 IIS를 다시 시작하거나 응용 프로그램 풀을 재생하는 경우 캐싱이 사라집니다. 공유 한 링크를 인용하면 다음과 같습니다.

해당 컨텍스트의 모델은 캐싱되며 app 도메인의 모든 추가 컨텍스트 인스턴스에 사용됩니다.

저는 스키마와 매핑 파일간에 불일치가 있다고 생각합니다. 데이터베이스, 연결 문자열 및 스키마/매핑 파일을 다시 확인할 수 있습니까?

SQL 프로필을 실행하면 오류가 발생할 때 실행되는 정확한 쿼리를 표시 할 수 있으므로 몇 가지 추가 정보를 얻을 수 있습니다. 그러나 오류를 표시하려면 프로파일 러를 구성해야합니다.

관련 문제