2009-09-08 29 views
6

Tamamen kör ve aptal olabilir, ancak ADO.NET Varlık Veri Modeli tarafından oluşturulan ve bir şekilde çizelgelerden satırları silecek herhangi bir yöntem bulamıyorum. Özel bir sorgu oluşturmak istemedim. Peki bunu nasıl yaparım? Lütfen yardım et.ado.net varlık çerçevesi satırları sil

Silme metodum yok Silme nedenini bilmiyorum. Kullanmak istediğim kod bu.

var deleteOrderDetails = 
from details in db.OrderDetails 
where details.OrderID == 11000 
select details; 

foreach (var detail in deleteOrderDetails) 
{ 
db.OrderDetails.DeleteOnSubmit(detail); 
} 

db.SubmitChanges(); 

cevap

10

gerekli değişiklikler bir çift:

db.DeleteObject(detail); 

ve

db.SaveChanges(); 

İyilik,

Dan

ps: Linq kullanarak mı SQL'e ve sonra Varlık F'ye değiştirildi ramework?

+0

Evet sabit. Durum böyle olurdu. Ayrıca - Birden çok satırı aynı anda silebilir miyim? ??; – Trimack

+0

Sen mutiple evet :) –

+0

Hayır, ne demek olduğunu ben dv.DeleteObject (deleteOrderDetails) yapabilirdi eğer SaveChanges başına nesneleri silerim edebilirsiniz – Trimack

5

İşte sana Orders tablo var galiba (this answer sayesinde)

başka yoludur ve OrderDetailsOrderID aracılığı ile ilgilidir.

var order = db.Orders.FirstOrDefault(o=> o.OrderID == 11000); 
if(order != null) 
{ 
    order.OrderDetails.Clear(); 
    db.SaveChanges(); 
} 

Bu, bu siparişle ilişkili tüm sipariş ayrıntılarını silmeli.

düzenleme: kodunu