2010-08-08 7 views
1

je dois supprimer un enregistrement de la tablerequête LINQ pour supprimer enregistrement particulier

Pour un CategoryId j'aurai plusieurs servicetypes ..

Ex: CategoryID = 123 types de services liés à c'est 1 2 3 4 5

je besoin d'une requête pour supprimer servicetype 3 à CategoryId 123 ..

Ma méthode sera je passerai

Deleterecord(CategoryId,ServiceTypeId); 
+0

Quel est le schéma de vos données? – BritishDeveloper

+0

SqlServer. Merci – kumar

Répondre

3

Si vous utilisez LINQ to SQL:

var service = Services 
    .Include("Category") 
    .First(s => s.ServiceId == 3 && s.Category.CategoryId == 123); 
context.Services.DeleteOnSubmit(service); 
context.SubmitChanges(); 

Si vous utilisez Entity Framework:

var service = Services 
    .Include("Category") 
    .First(s => s.ServiceId == 3 && s.Category.CategoryId == 123); 
context.Services.DeleteObject(service); 
context.SaveChanges(); 
0

Une expression lambda est une fonction anonyme et il est surtout utilisé pour créer des délégués LINQ. En termes simples, c'est une méthode sans déclaration, c'est-à-dire, un modificateur d'accès, une déclaration de valeur de retour et un nom.

Particulièrement utile dans les endroits où une méthode est utilisée une seule fois, et la définition de la méthode est courte. Cela vous évite de devoir déclarer et écrire une méthode séparée dans la classe conteneur.

Avantages: Dactylographie réduite. Pas besoin de spécifier le nom de la fonction, son type de retour, et son modificateur d'accès. Lors de la lecture du code, il n'est pas nécessaire de chercher ailleurs la définition de la méthode.

Les expressions lambda doivent être courtes. Une définition complexe rend le code appelant difficile à lire.

pour l'exemple

List<int> numbers = new List<int>{11,37,52}; 
List<int> oddNumbers = numbers.where(n => n % 2 == 1).ToList(); 
Questions connexes