基本的に、多対多の関係と部門テーブルを持つ 3 つのテーブル ユーザー ロールと USerRoles があります。したがって、これらを .edmx にインポートすると、2 つのエンティティしか得られません。そのため、両方のエンティティにナビゲーション プロパティがあります。3 人のユーザーと 2 つのロール (管理者と読み取り専用) があります。. 以下は私のSQLクエリです
select U.UserName,r.RoleName,dp.DepName
from Users U
inner join UserRoles UR on U.UseID = UR.UserId
inner join Roles r on UR.RoleId = r.RoleID
inner join dbo.Department Dp on dp.DepId = U.DepId
group by r.RoleName,U.UserName,Dp.DepName
これは私が試したLinqクエリで、depNameを取得できますが、特定のユーザーのRoleNameは取得できません。実際には、User ロールと UerRoles の間には多対多の関係があります。私のコンテキストでは、UserRoles Entity を持っていません。これについて私を助けてください。
List<User> user = db.Users.Include("Department,Roles").ToList();
foreach (var U in user)
{
Console.WriteLine(U.UseID + " " + U.UserName +" "+ U.Department.DepName+ " "+ U.Roles.);
}