Я хотел бы знать, есть ли более простой способ вставить запись, если она еще не существует в таблице. Я все еще пытаюсь создать свои навыки LINQ to SQL.LINQ to SQL insert-if-none-
Вот что у меня есть, но кажется, что должен быть более простой способ.
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;
}
Что такое e => e.BooleanProperty? Объекты не имеют члена BooleanProperty. Я никогда не видел этого раньше ... – core 2008-09-19 18:00:21
Хм, вы заметите, что в моем коде я сказал, что table.Context.SubmitChanges() не работает, потому что он доступен только для загрузки. Видимо, я допустил ошибку. – core 2008-09-19 18:19:16