我有3個表,我需要使用:
品牌 -
BrandID
名稱
用三個表LINQ查詢幫助
BrandSource-
BrandID
的SourceID
源 -
SourceID
來源地名稱
圖片
所以我與BrandSource有很多很多的關係是我的中間表。我在表格中顯示了每個品牌列,併爲源圖像創建了一個新列。從本質上講,如果一個品牌有5個來源,我需要它顯示品牌的一行以及我製作的新專欄中的5個不同的來源圖像(一個單元格中有5個圖像)。
由於我加入了這三個表格,它顯然看到BrandSource表格中有5行,並顯示單個源圖像在單元格中的每個品牌的5行。
我確定我可以選擇不同的品牌,但這仍然無法解決我如何讓每個品牌的所有源圖像都顯示在同一個單元格中的問題。
這是我的linq代碼:(正如你可以看到在這裏有一些信息,我忽略了上面的簡潔)。
var join = from b in db.Brands
join bs in db.Brands_Sources on b.BrandID equals bs.BrandID
join sb in db.Sources on bs.SourceID equals sb.SourceID
select new { Brand = b, source = sb.Image, c = b.Description.Length < 204 ? b.Description : b.Description.Substring(0, 204) + "..." };
這裏的是我如何使用它:
foreach (var result in join)
{
bool a = result.Brand.Active;
string chk = string.Empty;
if (a == true)
chk = "checked='checked'";
else
chk = "";
resultSpan.InnerHtml += "<tr><td><input type='checkbox' " + chk + "></td><td width='1%'><img width='50px' src='" + result.Brand.Image + "'</img></td>" +
"<td>" + result.Brand.Name + "</td><td width='60%'>" + result.c + "</td><td><img src='"+result.source+"'></img></td><td>" + result.Brand.DateCreated + "</td><td>" + result.Brand.DateModified + "</td></tr>";
}
這正是我所期待的。謝謝。 – 2010-12-04 22:44:50