我正在建立一个电子商务网站,产品分为多个类别。因此,我有一个Products表,一个Categories表和一个包含所有productId / CategoryId组合的ProdCat链接/联结表。
使用Linq To Entities(我今天第一次使用)执行更新时,我感到很茫然。我首先需要删除给定产品ID的所有条目,然后执行所有相关详细信息的插入。我想我有插入,但任何人都可以给我一个如何删除的例子吗?
我已经对网络进行了搜索,看起来Linq to Entities在它与Linq To SQL方面被认为是“前进的方向”,但它似乎并不像Linq To Sql那样“容易”学习。 / p>
感谢任何帮助。
感谢。
答案 0 :(得分:1)
我今天遇到了类似的问题,传感器,传感器组和接合表在两者之间产生了多对多的关系。我想出的解决方案是:
var delGroup = db.SensorGroups.Single(g => g.GroupId == groupId);
foreach (var sensor in delGroup.Sensors.ToList())
{
delGroup.Sensors.Remove(sensor);
}
db.SaveChanges();
答案 1 :(得分:0)
您无法在LINQ-to-Anything中删除。不在LINQ to SQL中,不在LINQ to Entities中,也不在LINQ to Objects中。
要在EF中删除,请执行以下操作:
Context.DeleteObject(someObject);
所以要删除所有ID,你可以这样做:
var q = from entry in Context.SomeEntitySet
where entry.Product.Id == someId
select entry;
foreach (var entry in q)
{
Context.DeleteObject(entry);
}
Context.SaveChanges();