Entity Framework 7 RC1 Code First
을 사용하고 있습니다.클래스를 저장 프로 시저 resultset에 매핑합니다. "값은 null 일 수 없습니다. 매개 변수 이름 : entityType"
는 다음 코드이 작동하고 데이터를 올바르게 가져
var resultset = await _db.Employees.FromSql<Employee>("dbo.sp_GetEmployees @DeptId="+ deptId).ToListAsync();
에게 있습니다.
그러나 직원이 반환하는 것보다 다른 속성을 포함하도록 저장된 proc을 변경해야합니다.
그래서 저장 프로 시저를 조정하고 Employee에서 추가 속성을 상속 한 사용자 지정 클래스 EmployeeQuery
을 만듭니다.
그러나 FromSql이
public DbSet<EmployeeQuery> EmployeeQueryItems{ get; set; }
및 VAR없는 결과를 만들어 내가 EmployeeQuery
에 대해 동일한 작업을 수행 할 수 있습니다 내 DBContext
public DbSet<Employee> Employees{ get; set; }
의 DbSet
의 방법이다 = _db.EmployeeQueryItems.FromSql을 기다리고 있습니다 ("dbo.sp_GetEmployees @DeptId ="+ deptId) .ToListAsync();
그러나 이것은 DBSet
속성을 만들면 데이터베이스에 테이블을 만들기 위해 Entity Framework에 알려주며 단순히 쿼리 개체 일뿐입니다. 그래서 나는 위의 것을하고 싶지 않습니다. 그래서 var에 결과 집합에 코드를 변경 github에서이 answer
에서 언급 한 바와 같이
그러나 분명히 당신이 DbContext
설정 방법을 사용할 수 있습니다 = _db.Set(). FromSql을 (기다리고 있습니다 "dbo.sp_GetEmployees @DeptId = "+ deptId) .ToListAsync();
그러나이 나에게 런타임 오류
전 = { "값은 null 일 수 없습니다를 \ 연구 \ 이름 nParameter. : entityType"} 제공
나는이 문제를 어떻게받을 수 있나요?
이 gitbub issue에서 더미 테이블을 만들지 않으면 불가능한 것처럼 보입니다.
EF에서 테이블을 만들지 않도록 지시 할 방법이 없습니까? DbSet
에 NotMapped
속성이 있습니까?
확대 해 주시겠습니까?user.Id이 동일에 context.Employees에서 공공 JsonResult EmployeeUserRead() { 'var에 결과 = ( 은 EMP에 가입 appContext.Users에서 사용자로부터 : 은 그래서 MVC 컨트롤러에서 나는 방법 돌아 이런 일이있을 수 있습니다 emp.UserId 새 {user, emp} 선택). ToList(); return Json (결과); }' modelBuilder가 재생되는 부분이 보이지 않습니까 ?? –