Je voudrais savoir s'il existe un moyen plus simple d'insérer un enregistrement s'il n'existe pas déjà dans une table. J'essaie toujours de développer mes compétences LINQ to SQL.LINQ to SQL insertion-si-inexistante
Voici ce que j'ai, mais il semble qu'il devrait y avoir un moyen plus facile.
public static TEntity InsertIfNotExists<TEntity>
(
DataContext db,
Table<TEntity> table,
Func<TEntity,bool> where,
TEntity record
)
where TEntity : class
{
TEntity existing = table.SingleOrDefault<TEntity>(where);
if (existing != null)
{
return existing;
}
else
{
table.InsertOnSubmit(record);
// Can't use table.Context.SubmitChanges()
// 'cause it's read-only
db.SubmitChanges();
}
return record;
}
Qu'est-ce que e => e.BooleanProperty? Les entités n'ont pas de membre BooleanProperty. Je n'ai jamais vu ça avant ... – core
Hmm, vous remarquerez que dans mon code, j'ai dit que table.Context.SubmitChanges() ne fonctionnait pas parce que c'est get-only. Apparemment j'ai fait une erreur. – core
e => e.BooleanProperty est juste un exemple. Cela peut représenter n'importe quelle expression qui retourne une valeur booléenne. –