我有一个包含两个数据库(本地和远程)的WPF应用程序。我连接到远程数据库并执行一些选择查询(无需修改),对于我需要读取,删除和删除的本地数据库更新许多信息。我必须在Ado.net和Linq之间选择sql。
那么,它们之间的最佳选择是什么,以及远程Sql Server接受来自其他PC的连接所需的配置参数是什么?
答案 0 :(得分:1)
我必须在Ado.net和Linq之间选择sql。
LINQ-to-SQL基本上是围绕ADO.NET的ORM包装器。但是,当我听到“远程”这个词时,我通常会认为直接的ADO.NET连接不再合适。如果这些盒子在不同的网络上,或者由防火墙/子网/等分隔,那么最合适的方法是通过Web服务公开您的数据(内部可能使用ADO.NET或LINQ-to-SQL,但这完全是一个实现细节)。该Web服务可以通过WCF,ASMX,ServiceStack,手动实现的REST或您喜欢的任何其他类型的基于Web的访问技术公开。
然后唯一的问题是:在相同的网络上运行时(在您的示例中为“本地”)...是否应该继续使用Web服务(用于代码减少等) ,还是应该还有一个直接(ADO.NET / LINQ-to-SQL)连接选项?第一个是没有额外的代码(因为Web服务已经存在以支持“远程”客户端); 某些 (有限)方案中的第二个(直接)选项可能具有一些性能优势。