Re[27]: Проблемы организации OR-мапинга
От: Sinclair Россия https://github.com/evilguest/
Дата: 20.04.09 03:28
Оценка:
Здравствуйте, IT, Вы писали:
IT>Я пока других вариантов не вижу вовсе
А может, всё-таки в конце принимать Expr<Func<Order, Order>> которая должна отображать старый в новый?
У нас же типа всё иммутабл (в лучших традициях жанра), поэтому изменить ничего нельзя.

Это бы работало замечательно, если бы был (автоматически реализованный) Fluent.
То есть как-то так:
(from o in orders where o.OrderDate < xxx select o).Update(o => o.SetDelayed(true));
В предположении, что SetDelayed имеет семантику

public Order SetDelayed(bool delayed)
{
  if (delayed == Delayed)
      return this;

  Order clone = Clone();
    clone._delayed = delayed;
    return clone;
}
public bool Delayed { get { return _delayed; } }

Естественно, при прогоне через SqlProvider этот код никогда не исполняется.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.