У меня есть таблица продуктов и таблица продвижения. и я хочу получить цену продукта, ассортимент продукта и таблицу продвижения.
в таблице продукта:
Id Name Price Detail
1 ProductName1 10 dddd
2 ProductName2 12 ssss
3 ProductName3 14 1
в таблице продвижения:
Id ProductId Price StartDate EndDate
1 1 20 2020/06/06 2020/07/07
Я хочу узнать цену продукта. и получит Таблицу продвижения, если есть цена для Продукта.
var product =_context.Products.FindAsync(1);
product.Price
- правильное значение. например. Если я хочу получить продукт с идентификатором 1, а затем я получаю промоушен ProductId 1, существует цена 20, тогда цена, которую я получаю, равна 20. Если я хочу получить продукт 2, цены в тогда я получаю цену 12.
Я создам класс:
public class Product{
private decimal _price{get;set;}
public int Id {get;set;}
public string Name {get;set;}
public decimal Price{
get{
var promote = await _context.Promotes.Where(p=>p.ProductId==Id).ToListAsync();
if(promote.Count>0){
return promote[0].Price;
}
return _price;
}
set{_price=value;}
Но это не сработает. Как это сделать?