当前位置:编程学习 > C#/ASP.NET >>

.net 哪种架构可以做到跟数据库松耦合!

就是替换数据库的时候,基本不用修改或者很少量的修改,谢谢!~~~~~~多指教 --------------------编程问答-------------------- .NET和SQL SERVER是紧耦合。

要跟数据库松耦合,使用OLE DB 或 ODBC,自己控制SQL指令。
--------------------编程问答-------------------- 这个除非你用传统的设计模式,新增、修改、删除语句都自己写的。现在使用EF框架是紧耦合,如果没有外键的,找不到关联的,可能都无法正确查询和得到正确结果。  --------------------编程问答-------------------- Entity Framework,它本身就可以代替DAL,如果你的程序将DAL分层出来,和其它地方解耦,就不需要修改别处了,而EF本身需要你写的代码很少。 --------------------编程问答--------------------
引用 楼主 tianshikuqi8 的回复:
就是替换数据库的时候,基本不用修改或者很少量的修改,谢谢!~~~~~~多指教


最初级的 ADO.NET 就已经是这样的框架了。

http://msdn.microsoft.com/zh-cn/library/dd0w4a2z(v=vs.110).aspx --------------------编程问答--------------------
反射 抽象工厂 --------------------编程问答-------------------- 替换库的时候,查询的SQL语句语法是不一样的,这样也得修改程序,有没有别的更好的办法? --------------------编程问答--------------------
引用 2 楼 hdhai9451 的回复:
这个除非你用传统的设计模式,新增、修改、删除语句都自己写的。现在使用EF框架是紧耦合,如果没有外键的,找不到关联的,可能都无法正确查询和得到正确结果。 


的确是新增、修改、删除语句都自己写的 --------------------编程问答-------------------- 不可能不改,就算用上orm,要换成别的nosql的时候不还是一样要改么 --------------------编程问答--------------------
引用 6 楼 tianshikuqi8 的回复:
替换库的时候,查询的SQL语句语法是不一样的,这样也得修改程序,有没有别的更好的办法?


把这些不同封装起来

1.整个上层使用接口及接口对应的实体类
2.数据层实现接口层,并把数据封装为接口实体类
3.上层可通过依赖注入,发布时把具体的数据层生成的DLL放进去就ok

建议参考Prism

比如上层需要根据ID获取某个实体的方法,可以直接搞到接口中, --------------------编程问答-------------------- 三层架构

回答完毕 --------------------编程问答-------------------- 用orm啊。 --------------------编程问答-------------------- 都想达到高效的结果,结果还是不满意 --------------------编程问答-------------------- 觉得越简单的东西,就越松耦合.
ADO.NET还是不错的吧 --------------------编程问答-------------------- 不管你的耦合多松,你最终还是要写一套新的接口实现。 --------------------编程问答-------------------- 同意14# 。。。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,