Tar*_*tar 2 c# sql linq asp.net join
我使用 linq join 组合了我的 3 个表。之后,我想使用从 webform 获取的数据更新此表。我怎样才能做到这一点 ?我的实现如下
public void updateShoes(Shoe shoe)
{
var query = from b in db.BrandTbls.AsQueryable()
join m in db.ShoeModelTbls on b.BrandID equals m.BrandID
join s in db.ShoeTbls on m.ModelID equals s.ModelID
where shoe.ShoeID == s.ShoeID
orderby m.ModelName
select new
{
s.ShoeID,
s.Size,
s.PrimaryColor,
s.SecondaryColor,
s.Quantity,
m.ModelName,
m.Price,
b.BrandName
};
}
Run Code Online (Sandbox Code Playgroud)
尽管您的方法现在有点不清楚(例如,我们不知道您要更新哪些实体),但是您可以像这样修改代码,
public void updateShoes(Shoe shoe)
{
var query = from b in db.BrandTbls.AsQueryable()
join m in db.ShoeModelTbls on b.BrandID equals m.BrandID
join s in db.ShoeTbls on m.ModelID equals s.ModelID
where shoe.ShoeID == s.ShoeID
orderby m.ModelName
select new
{
Shoe = shoe, Brand = b, Model = m
};
foreach(var o in query)
{
o.Shoe.ColorName = "Black";
o.Brand.BrandName = "New Branding";
o.Model.ModelName = "Something else";
}
db.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
您可以选择整个实体,而不是从每个实体中选择选定的属性。然后你可以像我上面所做的那样在循环中更新每个实体。
| 归档时间: |
|
| 查看次数: |
8487 次 |
| 最近记录: |