Microsoft.Aspnet.Identity.entityFramework - 사용자 이름 및 역할 ID 필드
-
20-12-2019 - |
문제
microsoft.aspnet.identity.entityframework - 객체 UserIdentity 및 Roleidenity에는 문자열 유형의 ID 필드가 있으므로 생성 된 테이블에는 데이터 유형이 NVARCHARCAR (128)이 있습니다.
이러한 객체 ID 속성이 System.Guid 유형이 아니 어서는 안되며 데이터베이스는 UniqueIdentifer의 데이터 유형을 가지고 있습니까?왜 그렇지?GUID는 새 사용자 및 역할 생성에 삽입됩니다.
해결책
Hao Kung id를 변경하는 방법int로 입력하십시오.
키 직렬화 문제를 처리하지 않으려면 문자열 키를 결정 했으므로 EF 기본 구현이 기본 키로 Int를 사용했을 수 있으며 GUID는 임의의 고유 문자열 키를 생성하는 쉬운 방법이었습니다.
다른 팁
API는 API가 스토리지 공급자가 독립적이므로 필드 유형을 가능한 한 일반적인 것으로 보관했기 때문입니다. http://blogs.msdn.com/b/webdev/archive/2013/06/27./introducing-asp-net -identity-membership-system-for-asp-net-applications.aspx
"응용 프로그램 요구 사항 이이 정보가 SharePoint, Azure 테이블 서비스, SQL 데이터베이스 없음과 같은 다른 스토리지 메커니즘에 저장 될 수 있으므로 다른 스토리지 공급자를 연결할 수 있습니다."
문자열 사용자 ID에 대한 또 다른 이유는 문자열이 클레임 API, 특히 Microsoft.AspNet.Identity.IdentityExtensions.GetUserId
를 사용하는 System.Security.Claims.Value
를 사용하는 문자열이 API를 반환하는 것입니다.