.NET和SQL SERVER是紧耦合。要跟数据库松耦合,使用OLE DB 或 ODBC,自己控制SQL指令。

解决方案 »

  1.   

    Entity Framework,它本身就可以代替DAL,如果你的程序将DAL分层出来,和其它地方解耦,就不需要修改别处了,而EF本身需要你写的代码很少。
      

  2.   


    最初级的 ADO.NET 就已经是这样的框架了。http://msdn.microsoft.com/zh-cn/library/dd0w4a2z(v=vs.110).aspx
      

  3.   

    替换库的时候,查询的SQL语句语法是不一样的,这样也得修改程序,有没有别的更好的办法?
      

  4.   

    不可能不改,就算用上orm,要换成别的nosql的时候不还是一样要改么
      

  5.   


    把这些不同封装起来1.整个上层使用接口及接口对应的实体类
    2.数据层实现接口层,并把数据封装为接口实体类
    3.上层可通过依赖注入,发布时把具体的数据层生成的DLL放进去就ok建议参考Prism比如上层需要根据ID获取某个实体的方法,可以直接搞到接口中,
      

  6.   

    觉得越简单的东西,就越松耦合.
    ADO.NET还是不错的吧