我正在编写一个位于第三方应用程序之上的Web应用程序。我们可以将对象插入第三方数据库的唯一支持方式是将数据插入到通用“临时表”中,然后调用Web服务以通过其业务逻辑处理它。
问题是这可能很慢。
我知道在Linq中我可以为每个类提供一个Insert *方法,然后处理一个插入。问题是为每个对象单独调用Insert *方法,这意味着我们有多次调用Web服务的延迟。在处理关联时,这是一个更大的问题,因为我们必须确保它们以正确的顺序插入,并且每个插入后用主键更新L2SQL对象。对于一个复杂的对象,这可能意味着使用这种方法通过Web服务进行六次往返! :(
现在,Web服务本身实际上会同时处理多个事物。理想情况下,我可以将一个对象及其所有相关对象一起插入到临时表中,调用Web服务一次,然后在最后获取所有主键。
有没有人知道如何在Linq-to-Sql中实现这一目标?