C# Linq,Json,从数据库中选择产品
我有三桌的菜、酒和建议。 然后,我们的想法是使用桌子建议桌子来放置菜肴和葡萄酒,其中一个相互建议。 我使用的是LINQ,但是当一个产品没有建议时,他不会添加到json中C# Linq,Json,从数据库中选择产品,c#,mysql,json,linq,C#,Mysql,Json,Linq,我有三桌的菜、酒和建议。 然后,我们的想法是使用桌子建议桌子来放置菜肴和葡萄酒,其中一个相互建议。 我使用的是LINQ,但是当一个产品没有建议时,他不会添加到json中 var query = (from m in db.Dish join t in db.TypeDish on m.idTypeDish equals t.idTypeDish join i in db.ImageDish on m.idDish equals i.idDish i
var query = (from m in db.Dish
join t in db.TypeDish on m.idTypeDish equals t.idTypeDish
join i in db.ImageDish on m.idDish equals i.idDish into g
join s in db.Suggestion on m.idDish equals s.idDish
join si in db.ImageWine on s.idWine equals si.idWine into f
where m.idTypeDish == dish
select new DishModel()
{
Name = m.name,
CalorificValue = m.calorificValue,
Price = m.price,
ShortName = m.shortName,
Time = m.manufactureTime,
Description = m.description,
UrlImageList = g.Select(i => _url + i.Image.urlImage).ToList(),
BeveragesList = new List<BeverageModel>()
{
new BeverageModel()
{
Name = s.Wine.name,
ShortName = s.Wine.shortName,
Price = s.Wine.price,
Description = s.Wine.description,
AlcoholContent = s.Wine.alcoholContent,
WineEnum = WineEnum.WhiteWine,
Region = s.Wine.Region.name,
WineCaste = s.Wine.wineCaste,
UrlImageList = f.Select(i => _url+i.Image.urlImage).ToList(),
}
}
}).ToList();
return query;
var query=(从db.Dish中的m开始)
在m.idTypeDish上的db.TypeDish中加入t等于t.idTypeDish
在m.idDish上的db.ImageDish中加入i.idDish等于在g中加入i.idDish
在db中加入s。关于m.idDish的建议等于s.idDish
在s.idWine上的db.ImageWine中加入si.idWine等于在f中加入si.idWine
其中m.idTypeDish==dish
选择新模型()
{
Name=m.Name,
热值=m.热值,
Price=m.Price,
ShortName=m.ShortName,
时间=m.制造时间,
Description=m.Description,
UrlImageList=g.Select(i=>\u url+i.Image.urlImage).ToList(),
BeveragesList=新列表()
{
新的BeverageModel()
{
Name=s.Wine.Name,
ShortName=s.Wine.ShortName,
价格=葡萄酒价格,
Description=s.Wine.Description,
酒精含量=s.Wine.酒精含量,
WineEnum=WineEnum.WhiteWine,
Region=s.Wine.Region.name,
WineCaste=s.Wine.WineCaste,
UrlImageList=f.Select(i=>rl+i.Image.urlImage).ToList(),
}
}
}).ToList();
返回查询;
现在我在DB上有两个项目,他只发送了一个,因为另一个没有建议。
错误可能在连接上,但我是Linq的新手
谢谢。尝试左外连接可能重复。见msdn:嘿,谢谢,但现在我有一个问题,他是重复的数据,因为图像的建议,我把2左外连接的建议和图像的建议。