我正在开发一个数据库繁重的项目,其中Microsoft SQL数据库非常成熟(16年或更久的成熟),旧产品使用VB6和ADO生成与数据库交互的sql。我已经被赋予了使用新的.NET版本移植/重写旧版本的任务。
我喜欢使用LINQ-to-*来确保易于维护,但是在过去的几周里,我觉得LINQ-to-SQL不够灵活,LINQ-to-Entities有太多的开销和LINQ-to-Datasets毫无意义,因为使用Ado.Net我会很高兴。
该程序同时在两个数据库上运行:一个是具有包含元数据的非常一致的模式的数据库,另一个是具有不同模式的数据库,与元数据库紧密耦合,并指示哪些信息来自您在任何给定时间感兴趣的元数据库。此外,我需要来自两个数据库的非LINQ信息(例如系统存储过程和系统表)。
有没有办法在这里智能地使用LINQ?我喜欢静态打字,但如果我不能拥有它,我不想强迫我的方形应用程序进入圆形框架。
答案 0 :(得分:1)
只是一个FYI,您可以使用LINQ获取访问系统表(以及sys存储过程?)。方法如下:
上面是this post.
被盗答案 1 :(得分:0)
最好的答案似乎是完全使用ADO.NET。我可以选择在元数据库和ADO.NET上使用Linq-to-Sql进行任何其他数据库访问,但这会使代码对我来说感觉太不一致。