2016-09-07 5 views
0

ASP.NET 정체성 2.0 dbo.AspNetUsers는 :왜 ASP.NET Identity 2.0 dbo.AspNetUsers Id가 int가 아닌 문자열입니까? 문자열로 정의

가 정수로 정의 할 수 있습니다
Id = c.String(nullable: false, maxLength: 128) 

:

Id = c.Int(nullable: false, identity: true) 

왜 그렇게입니까? 이 중 +/- 무엇입니까?

정수로 변경하면 모든 것이 엉망이 될 위험이 있습니까?

+0

[여기] (http://www.asp.net/identity/overview/extensibility/change-primary-key-for-users-in-aspnet-identity) 변경 방법 및 [여기] (+ https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=integer%20vs%20string%20primary%20key). – tmg

+1

[ASP.NET ID 2.0이 GUID/문자열을 사용자 ID로 사용하는 이유는 무엇입니까?] (http://stackoverflow.com/questions/23891446/why-is-asp-net-identity-2-0-using) -a-guid-string-as-user-id) – Shoe

답변

-1

변경하지 마십시오. 알면, UserManager 클래스는 기본 키가 string 유형 인 경우에만 작동합니다.

+0

사실이 아닙니다. ID에서 기본 키 유형을 완전히 변경할 수 있습니다. – trailmax

1

이미 연결된 답변 외에 - ID는 모든 종류의 저장소를 수용 할 수 있도록 작성되었습니다. Azure Tables와 일반 텍스트 파일 저장소가 구현 된 것을 보았습니다. 그리고 이들 모두가 int/guid를 프라이 머리 키로 사용할 수있는 것은 아니며 프라이 머리 키를 가질 수도 있습니다.

그래서 모든 시스템에 대한 가장 낮은 공통 분모 - 문자열. 하지만 int 또는 Guid 또는 저장소가 지원하는 모든 것으로 변경할 수 있습니다.