Entity Framework 4.3 code first
을 사용하고 있습니다. 기존 데이터베이스를 사용하고 있습니다.동일한 테이블을 연결하는 연관 테이블을 처리하는 방법
에는 다음과 같은 열이있는 Users table
있습니다 :
- UserID (int)
- FirstName (string)
- Surname (string)
내가 연관 테이블 Impersonations
라고합니다. 가장 테이블은 사용자 테이블과 동일한 사용자 테이블 간의 연결 테이블입니다. 사용자는 사용자 목록을 가질 수 있습니다.
- ImpersonateID (int primary key)
- UserID (int FK to Users table's UserID column)
- ImpersonatedUserID (int FK to Users table's UserID column)
내가이 컬럼에 매핑 원하는 특성을 가진 사용자 클래스가 : 여기 Impersonations table
구조는
public DbSet<User> Users { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new UserConfiguration());
}
:
내 DB 컨텍스트 클래스에서
public class User : IEntity
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string EmployeeNumber { get; set; }
public virtual ICollection<User> ImpersonatedUsers { get; set; }
public virtual ICollection<User> Users { get; set; }
}
나는 다음이
사용자 구성 :
이 링크를 Entity Framework를 사용하여 올바르게 연결 했습니까? 사용자 아이디를 통과하면 사칭되지 않은 사용자로 표시된 사용자 목록을 반환해야합니다. 내가 어떻게하는거야? 나는이 문제를 가지고 있지만 사용자 및 ImpersonatedUsers 모두 비어 있습니다 :
7 Craig Matthews 123456
8 Susan Renshaw 234567
9 Michelle du Toit 34567
그리고 :
return DbContext.Users
.Include("ImpersonatedUsers")
.SingleOrDefault(x => x.Id == userId);
내가 내 사용자 테이블에서 다음 데이터 (아이디, 이름, 성, 직원 번호)가 있다고 가정하자 그래서
1 7 8
2 7 9
나는 7의 사용자 ID에 전달하면 다음 사용자 수잔 렌쇼와 마이크에 대한 레코드를 반환해야합니다 내 흉내 내기 테이블에 다음과 같은 데이터는 (가장 된 ID, 사용자 ID, 사용자 ID를 가장 한) helle du Toit.
그냥 당신이 아직도 혼동하는 경우 선명도
... 나는 비슷한 상황이있다. 제품 테이블과 사양 테이블이 있습니다. 이 2 개는 ProductSpecifications라는 보증 테이블에 의해 연결됩니다. 여기에서도 같은 결과를 얻으려고하지만 2 개의 테이블은 Users 테이블이고 연관 테이블은 가장입니다.
여기있는 사람이 있습니까? –