我有這個要求,如何在lambda表達式或linq中做到這一點?
產品可以有多個圖像和只有一個默認圖像。如果屬性isDefault
等於true,則可以確定產品的默認圖像。
我想這樣做的LINQ和lambda但我在我的代碼stucked:
private class ProdcutImages
{
public Int32 ID { get; set; }
public String ProductID { get; set; }
public Boolean IsDefault { get; set; }
public Image Image { get; set; }
public String FileName { get; set; }
}
public void SetDefaultImage(int productID)
{
SqlConnection conn = getConnection();
conn.Open();
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM product_images WHERE product_id = @ID", conn);
da.SelectCommand.Parameters.Add(new SqlParameter("@ID", productID));
DataTable dt = new DataTable();
da.Fill(dt);
var imageList = (from tr in dt.AsEnumerable()
select new ProdcutImages()
{
ID = tr.Field<int>("id"),
ProductID = tr.Field<string>("productId"),
IsDefault = tr.Field<bool>("isDefault"),
Image = tr.Field<Image>("image"),
FileName = tr.Field<string>("fileName")
}).ToList();
pictureBox1.Image = // ???
conn.Close();
}
您可以對isDefault標誌進行SQL檢查,以消除其餘的圖像。或者是否需要同時抓取所有圖像? – NoLifeKing 2011-02-07 15:36:16