0
나는 codefirst POCO가 있고, 현재 ASP.NET IDENTITY 사용자의 LastEditUser를 지정하려고합니다. 새로운 프로젝트로 생성 된 ApplicationUser 유형을 시도했습니다. 하지만 null로 저장됩니다.어떤 종류 (클래스) Asp.net Identy 사용자에 대한 내 POCO의 속성에 사용합니까
여기에 내 현재 시도
public class SomeClass
{
public string SomeProperty { get; set; }
public ApplicationUser LastEditMember { get; set; }
}
입니다 그리고 여기에 내가 내 컨트롤러에 저장하려고하는 방법이다.
string currentUserId = User.Identity.GetUserId();
ApplicationUser currentUser = db.Users.FirstOrDefault(x => x.Id == currentUserId);
instannceOfSomeClass.LastEditMember = currentUser;
다시로드하십시오. LastEditMember 속성은 null입니다.
UserManager를 사용해 보았지만 여전히 ApplicationUser를 반환합니다. 내 LastEditMember 속성을이 AplicationUser와 동일하게 설정하고 저장하면 모든 것이 잘된 것처럼 보일 수 있지만 엔티티를 다시로드하면 LastEditMember가 다시 null이됩니다 ... 그래서 똑같은 지점에 여전히 붙어 있습니다. 내가 할 수있는 건 뭐니? –
좋아요, 데이터베이스에서 실제로는 LastEditMember 열에 사용자 ID를 저장했음을 알았습니다. SomeClass 엔티티가로드 될 때 사용자는 LastEditMember 특성으로로드하지 않습니다. –
DB에서 사용자 정의 유형을 저장하고 검색하려면 클래스가 EF 규칙을 따라야합니다. 나의 첫 번째 직감은 가상으로 만들고 그것이 작동하는지 확인하는 것입니다. 다른 방법은이 링크를 따라 EF가 기대하는 방식으로 모델을 생성하는 것입니다. http://msdn.microsoft.com/en-us/data/jj679962.aspx –