2013-12-19 2 views
2

테이블에 ADO.NET 엔터티 데이터 모델이 있고 직접 사용하면 올바르게 작동합니다.'X'유형이 테이블로 매핑되지 않았습니다.

동일한 코드를 다시 반복 할 필요가 없도록 래퍼를 작성하려고했습니다. 일부 DataContext Extension 메서드 작성이 끝났습니다.

그래서 테이블에서 데이터를 얻으려면 다음과 같이하십시오. 나는이 오류가 위의 메서드를 호출 할 때

public static TEntity Get<TEntity>(this DataContext dataContext, object id, string primaryKeyName) 
     where TEntity : class, new() 
{ 
    if (id == null) 
     return new TEntity(); 

    var table = dataContext.GetTable<TEntity>(); 
    return table.Single(DynamicGet<TEntity>(primaryKeyName, id)); 
} 

나는이

System.Data.IDbConnection conn = new System.Data.SqlClient.SqlConnection("ConnectionString"); 
conn.Open(); 
dataContext = new DataContext(conn); 
dataContext.Get<X>(email); 

같은이 방법 뭔가를 호출 유형 'X'테이블로 매핑되지 않습니다.

X는 ADO.NET에서 만든 모델에서 나오며이 예외가 throw되는 이유를 알 수 없습니다.

아이디어가 있으십니까?

답변

0

X 유형에 DB에 기본 키가 없기 때문입니다. 기본 키를 테이블에 추가하고 데이터베이스에서 모델을 업데이트 한 다음 다시 시도하십시오.

+0

내가 모든 테이블에서 보았다는 기본 키를 가지고 문제가 아직도있다. – user1932923

+0

데이터 모델을 업데이트하고 모든 테이블을 새로 고쳤습니까? –