
[英]What is the proper way to reuse DbContext across different projects in a single solution?
[英]What's the best way to reuse database access across multiple projects to ensure that when updated it does not break any projects?
我可能在多个项目中以4-5次编写相同的LINQ to SQL语句。 我什至不想粘贴它。 我们将DBML文件与Repository类结合使用。 我想在多个项目中共享同一个库,但是我也想轻松地对其进行更新,并确保它不会破坏任何项目。 什么是这样做的好方法? 如果必须更改我的方法就可以了,我不需要嫁给LINQ to SQL和DBML。
我们既有控制台应用程序,又有MVC Web应用程序都使用自己的DBML风格访问数据库,而且有时主要的数据库更新已破坏了它们。
而且,由于当前每个项目都从自身访问DB,有时它在另一台服务器上,等等。是否有可能将DB层从每个项目中完全排除在外? 如果我可以通过其他应用程序可以直接使用而不是直接调用数据库的集中式应用程序来管理所有数据库访问,则可能对上述问题有所帮助,并且对于安全性和数据完整性更好。
有任何想法吗?
我处理此问题的方法是使用WCF数据服务。 我将数据模型和服务放在一个项目中,并将其托管在IIS上。 我的其他项目(无论它们可能是什么)都只是向URI添加服务引用,然后通过网络访问其所需的数据。 我的数据库工作全都发生在服务上,我的单个项目根本不涉及数据库-他们甚至都不知道数据库存在。
它工作得很好,但是WCF有一些“陷阱”。 您甚至可以创建“ WebGet”方法以通过该服务公开常用方法。
让我知道是否要查看示例代码:-)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.