2009-12-05 6 views

Répondre

1
if(from t in context.table where t.field.Equals(parameter) select t).Count() == 0) 
{ 
    table t = new table(){ field1 = param1, field2 = param2}; 
    context.table.InsertOnSubmit(t); 
    context.SubmitChanges(); 
} 

Et n'oubliez pas de l'inclure dans une transaction pour les problèmes de simultanéité possibles.

2
MyDataContext db = new MyDataContext(); 

if (db.table.Where(x => x.ID == id).ToList().Count == 0) 
{ 
db.table.Add(MyRow); 
context.SubmitChanges(); 
} 
+1

si (db.table.SingleOrDefault (x => x.ID == id) == null) serait plus rapide. –

+1

En supposant que l'ID est la clé primaire, alors ce serait OK, s'il ne s'agissait pas d'un PK, votre code lancerait une exception s'il y a plus d'une correspondance. Qu'est-ce qui vous fait dire que ce serait plus rapide? –

Questions connexes