WebApi 2 기본 프로젝트에서 'ApplicationContext'를 찾는 데 어려움이 있습니다. MVC5 응용 프로그램에서의 Web.config에 정의 된 ConnectionString을 사용의 ApplicationContext라는 모델의 클래스가있다 :Webapi 2 ApplicationContext가 누락되었습니다.
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection")
{
}
}
쉬운 그러나 DbSets을 추가하고 MVC5 웹 페이지 프로젝트에서 하나의 맥락에서 모든 데이터를 가지고하는 webapi 2 프로젝트에서이 클래스를 찾을 수 없습니다.
WebApi 프로젝트의 어딘가에 DbContext 또는 IdentityDbContext를 확장하는 클래스가 있어야하며 연결 문자열을 사용하지만 전체 프로젝트를 검색했지만 찾을 수 없습니다. 모든 계정 데이터 (사용자 이름, 암호 해시, 역할, externallogins 등) 및 기타 모든 데이터 (DbSets)가 정의 된 webapi 2 프로젝트에 응용 프로그램 전체 DbContext를 가질 수 있습니까?
UserManager 클래스가 ApiController에있는 것처럼 보입니다.하지만 내 사용자 정의 데이터를 추가하는 방법은 없습니다.
그러나 IdentityUser에 대해 [Required] 및 [StringLength] 속성을 어떻게 설정 할 수 있습니까? 새로 만든 ApplicationContext에 DbSet Users를 추가하고 EntityTypeConfigurations를 사용하여 Required 및 Stringlength 특성을 구성하려고했지만이 오류가 발생했습니다. 형식 당 여러 개체 집합이 지원되지 않습니다. 개체 집합 'Users'와 'Users'에는 모두 'Applicationuser'(IdentityUser 확장) 유형의 인스턴스가 포함될 수 있습니다. 그래서 지금은 nulls가 허용되고 사용자 이름 길이 (bindingmodel 제외)에 대한 제한이없는 데이터베이스가 남아 있습니다. –
neo112
* IdentityUser * 구현에 * DbSet *을 추가 할 필요가 없습니다. 그것이이 오류 메시지를받는 이유입니다. * null * 값은 확실히 문제이지만 이미 좋은 해결 방법을 언급했다. 뷰/바인딩 모델에 속성을 설정한다. 올바르게 조작하면 API의 사용자가 길이가 f.e. 인 사용자 이름을 삽입 할 수 없습니다. 30 자입니다. –