1

私はすでにすべてが機能してベンダーを表示していますが、ここで追加したいのは、どのベンダーが選択されているかを示す列です(チェックボックス列として表示されます)。これらの選択は、それらを選択したProfileIDとUserName(ドメインユーザー)を含む別のテーブルに保存されます。したがって、現在のドメインユーザーにテーブルが表示されると、一部のベンダーには一致し、他のベンダーには一致しません。

私が試したのは次のとおりですが、UserNameでエラーが発生します。

System.Collections.Generic.ICollection'には'UserName'の定義が含まれていません

ただし、このフィールドは含まれているため、このテーブルの他のクエリで使用しました(モデルの写真を参照)。

IQueryable<VendorProfile> query = _db.VendorProfiles
     .Include("VendorsSelected")
     .Where(x => x.VendorsSelected.UserName.Contains(HttpContext.Current.User.Identity.Name))
     .OrderBy(v => v.ProfileID);

私が使用するソリューションは、一致するものと一致しないもの(null値)があるという事実を考慮する必要があります

ここに画像の説明を入力してください

4

1 に答える 1

1

コレクションUserName から選択する必要がありますx.VendorsSelected

IQueryable<VendorProfile> query = _db.VendorProfiles
     .Include("VendorsSelected")
     .Where(x => x.VendorsSelected
                  .Select(v => v.UserName)
                  .Contains(HttpContext.Current.User.Identity.Name))
     .OrderBy(v => v.ProfileID);
于 2013-03-19T22:22:27.303 に答える