Entity Frameworkを使用して、このクエリを実行しようとしています:
SELECT uir.roleid
FROM UsersInRoles uir
WHERE uir.userid = @userid
UsersInRoles には以下が含まれます:roleid
およびuserid
のみ。
問題は、UsersInRoles
多対多の関係テーブルです。PK に基づいてテーブルRoles
とテーブルを接続します。Users
Entity Framework は、UsersInRoles エンティティを削除することにより、これを非常に奇妙に扱います。クエリの作成方法を理解するのに苦労しています。
これは私が持っているものですが、2行しか返さないはずなのに27行を返しています.
var user_roles = admin_db.Roles
.Where(u => u.User.userid == db_userid)
.Select(r => r.roleid).ToList();
実を言うと、27 を返す方法を正直に理解することさえできません。その結果の数は意味がありません。