[英]LINQ to Datatable - How to add an if condition in linq query where clause?
[英]how to add where condition in include table in linq
我可以使用動態 model 我想在該表的“ Tbl_ProductImg ”表中添加 where 條件我只想要那些具有“ isActive ”值 1 的記錄。
model.Product = db.Tbl_Product.Include(t => t.Tbl_Product_Category).Include(y=>y.Tbl_Product_Dimensions).Include(I => I.Tbl_ProductImg).Where(x => x.Id == id && x.IsActive == 1 && x.Tbl_ProductImg.Any(y=>y.isActive==1)).FirstOrDefault();
var result = Global.jsonConvert(model);
我假設您有一個 Product class 和 ProductImg class 代表您的數據庫表,如果您想獲取所有 ProductImg 數據。
產品.cs:
public class Product
{
public int Id { get; set; }
public int IsActive { get; set; }
public IEnumerable<ProductCategory> ProductCategories { get; set; }
public IEnumerable<ProductDimension> ProductDimensions { get; set; }
public IEnumerable<ProductImg> ProductImages { get; set; }
}
產品圖片.cs:
public class ProductImg
{
public int Id { get; set; }
public int ProductId { get; set; }
public int IsActive { get; set; }
public ProductDto Product { get; set; }
}
您可以通過以下方式獲取活動產品圖片:
model.Product = db.Tbl_Product
.Where(p => p.Id == id && p.IsActive == 1)
.Select(p => new Product
{
Id = p.Id,
IsActive = p.IsActive,
//and you can get whatever you want..
ProductImages = p.ProductImages.Where(pi => pi.ProductId == p.Id && pi.IsActive == 1).Select(pi => new ProductImg
{
Id = pi.Id,
IsActive = pi.IsActive
//and you can get whatever you want..
})
}).FirstOrDefault();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.