2013-05-29 3 views
0

해당 테이블의 기본 키가 현재 UserId와 일치하는 테이블에서 id 값을 가져와야합니다. entityframework/mvc 로그인 테이블 (UserProfile, UsersInRoles 및 Roles)을 사용하고 있지만 UserProfile과 관계가없는 CompanyUser라는 다른 테이블이 있습니다. 프로젝트가 어떻게 구축 되었기 때문에 나는 그들 사이의 관계를 만들 수 없습니다.mvc의 테이블에서 특정 ID 가져 오기

내 CompanyUser 테이블에 UserID 및 CompanyID 열이 있습니다. UserID는 Table UserProfile의 UserID와 완전히 동일합니다. 그래서 내가해야 할 일이 무엇인지 모르겠지만 .equals 또는 .where를 사용할 수있는 방법은 동일한 CompanyID, 즉 동일한 테이블 내의 UserID가 websecurity.currentUserID와 일치하는 특정 CompanyID를 얻는 것입니다.

답변

1

그것은 완전히 분명하지 않다,하지만 난 그냥 원하는 의심 : First 또는 FirstOrDefault

var currentUserId = websecurity.CurrentUserID; 
var companyId = db.Companies 
        .Where(x => x.UserID == currentUserId) 
        .Select(x => x.CompanyID) 
        .Single(); 

변경 Single 당신이 일치하는 레코드가있을거야 모르는 경우, 이상이있을 수 있습니다 경우 하나보다.

+0

Reposity와 서비스로 작업하는 메신저가 다른 방식으로 데이터베이스를 가져와야하므로 지금 시도해 보겠습니다. – user2043267

+0

@ user2043267 :이 작업을 수행하지는 않았지만, * 작업을 수행하면 왜, 어떻게 코드가 구조화되는지에 대해 더 많은 정보를 제공해야합니다. (그리고 누군가 다른 사람이 대답해야합니다. 비행을 시작하려고합니다.) –

+0

걱정할 필요가 없습니다. 코드가 작동 할 것이라고 확신합니다. 문제는이 코드가 login-> accountcontroller에 있으며, 디버깅 할 때입니다. 그것은 내 currentUserId가 1 일 때, 1이되어야 할 때 sence를 만들지 않는다고 말합니다. currentuserid에서 올바른 값을 얻을 때 코드가 작동합니다. – user2043267