这是我正在做的,而不是为我工作。
我有一个使用 SubSonic 3 ActiveRecord 模板生成的 DAL,我有一个服务层(业务层,如果你很好的话),它混合了外观和一些验证。
假设我在服务层上有一个方法,例如 public void UpdateClient(Client client); 在我的 GUI 中,我创建了一个 Client 对象,用一些带有 ID 的数据填充它并将其传递给服务方法,但这从未奏效,脏列集合(跟踪哪些列被更改以使用更有效的更新语句)始终为空.
如果我试图从 GUI 内的数据库中获取对象,然后将其传递给服务方法,它也不起作用。
我发现唯一可行的情况是,如果我从数据库中查询对象并在我的 GUI 内的同一上下文中调用 Update(),这会破坏我创建的整个服务层。
但是对于插入和删除一切正常,我想知道这是否必须与对象跟踪有关,但我知道 SubSonic 不会那样做。
请指教。谢谢。阿德尔。