データベースには Building と Town という 2 つのテーブルがあります。それらは次のようになります。
建物:
buildingid
buildingname
街:
id
userid
buildingid
タウンでは、ユーザーが所有する建物ごとに 1 つのエントリがあります。
私が欲しいのは、特定のユーザー ID を持つユーザーの GridView を作成することです。この GridView には、建物名と建物の数が含まれている必要があります。建物。私はこれを試しました:
var buildings = (from Town in dc.Towns
join Building in dc.Buildings
on Town.buildingid equals Building.buildingid
select Building.buildingname);
gvBuildings.DataSource = buildings;
gvBuildings.DataBind();
しかし、各建物の番号を取得する方法がわかりません。
私はこれにしばらく取り組んでおり、いくつかの回答が機能しています。私はこのコードを使用しました:
var buildings = dc.Towns
.Where(t => t.userid == userid)
.GroupJoin(dc.Buildings,
t => t.buildingid,
b => b.buildingid,
(Town, Buildings) => new
{
BuildningName = Buildings.First().buildingname,
Count = Buildings.Count()
});
gvBuildings.DataSource = buildings.ToList();
gvBuildings.DataBind();
このコードを実行すると、GridView は次のようになります。
建物名でグループ化されたグループで建物を表示する必要があります。私はすべての提案を試しましたが、うまくいきません。