Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从ADO移动到ADO.net 我重新设计了一个使用ADO通信连接到SQL的产品,业务层是C++。整个查询都写为SP。 我希望该产品支持SQL 2008,可能是Mysql(尚未定稿)_C#_Database Design_Orm_Ado.net_Ado - Fatal编程技术网

C# 从ADO移动到ADO.net 我重新设计了一个使用ADO通信连接到SQL的产品,业务层是C++。整个查询都写为SP。 我希望该产品支持SQL 2008,可能是Mysql(尚未定稿)

C# 从ADO移动到ADO.net 我重新设计了一个使用ADO通信连接到SQL的产品,业务层是C++。整个查询都写为SP。 我希望该产品支持SQL 2008,可能是Mysql(尚未定稿),c#,database-design,orm,ado.net,ado,C#,Database Design,Orm,Ado.net,Ado,这些就是我所想的改变 将整个通信移动到ADO.net 从SPS到Ad-hoc SQL查询的转移可能需要花费大量的努力,如何编写一个包装C层,它是由前面的C++层中的C++总线层使用的。 想到了认真研究一些ORM工具。但由于它涉及很多SP,我觉得最好是分阶段进行 我想得到这方面的反馈/建议。这是一次好的旅行吗 根据个人偏好,我将创建LINQ2SQL或实体框架层来访问数据库。LINQ2SQL和实体框架都可以导入存储过程的定义并调用存储过程 然后,我将逐渐将存储过程转换为LINQ代码 在合理的范围内,

这些就是我所想的改变

  • 将整个通信移动到ADO.net
  • 从SPS到Ad-hoc SQL查询的转移可能需要花费大量的努力,如何编写一个包装C层,它是由前面的C++层中的C++总线层使用的。
  • 想到了认真研究一些ORM工具。但由于它涉及很多SP,我觉得最好是分阶段进行

  • 我想得到这方面的反馈/建议。这是一次好的旅行吗

    根据个人偏好,我将创建LINQ2SQL或实体框架层来访问数据库。LINQ2SQL和实体框架都可以导入存储过程的定义并调用存储过程

    然后,我将逐渐将存储过程转换为LINQ代码


    在合理的范围内,必须手动映射具有多个返回集和非来自单个表的选择的SP:s,但这仍然是可能的。

    首先,我们谈论的是什么样的比例-这是20吗?200? SPs?另外:如果您现有的SPs可以工作,为什么不通过ADO.NET转换到SPs呢?这里不需要跳转到特殊的SQL。不过,我要说的主要一点是:避免
    DataTable
    等的诱惑;没有什么好处:)目前的产品使用SQL 2005。我想把它移到SQL 2008,可能在下一个版本中我想支持MySQL。我也在考虑类似的问题。但是,C++中的C层包在Acto.NET中的商业层是否会造成性能上的阻碍?我有一个问题。Linq2SQL支持MySQL吗。我听说实体很好。但对我来说,这将是一个很大的重新工作。我认为从ado迁移到ado.net将提供更好的性能。不是吗?我认为Linq2SQL有第三方MySQL提供程序,但我会选择EF。原始ADO.NET比使用OR映射器快一点,但另一方面,使用OR映射器编写代码通常比直接使用ADO.NET更快,更不容易出现错误。启动一个小测试项目,将数据库作为EF模型导入,您将立即看到SP:是否与EF设计器兼容。感谢您的回复。。我想我会在第二阶段做,EF听起来不错。。在第1阶段,我想将通信转入ADO.NET,并在C语言中编写一个包装器,并用C++中的商业层使用。存储的进程将保持不变,它将由C#代码调用。如果我在第1阶段这样做(我知道C++使用COM互通性调用C.*)会造成任何阻碍吗?你怎么看?哦,好的。我会写一个测试项目!!但是,如果我让一个SP执行备份/归档(通常SP处理大量数据)之类的工作,是否最好将其排除在EF之外?