Проблема в том, что изменяемый объект больше не является тем же объектом, который был получен из хранилища данных.
DataContext отслеживает изменения всех объектов, которые он прикрепил.Но поскольку вы никогда не меняете «исходный» -объект в том виде, в каком вы его называете, контекст данных никогда не уведомляется об изменении
, я бы посоветовал вам сделать ваш ClientBO
частичным классом Client
вместо этого (конечно, переименовывая это к Клиенту).Все классы Linq-To-Sql генерируются как частичные, и, таким образом, вы можете легко расширить их следующим образом
Например:
public partial class Client
{
public void GenerateInvoice()
{
// ... etc ...
}
}
List<Client> clientList = MyDatabaseContext.Clients.ToList();
clientList[ someIndex ].SomeField = NewValue;
MyDatabaseContext.SubmitChanges();