遵循KISS原则,我突然意识到以下情况:
在.NET中,您可以使用实体模型框架来包装数据库.
此模型可以通过WCF作为Web服务公开.
此Web服务将具有非常标准化的定义.
可以创建可以使用任何此类RESTful Web服务的客户端应用程序.
我不想重新发明轮子,如果有人已经这样做了我也不会感到惊讶,所以我的问题很简单:有没有人已经创建了一个可以使用RESTful的简单(桌面,而不是web)客户端应用程序基于实体框架的服务,允许用户直接读取和写入此服务的数据?
否则,我只需要自己"发明"这个.:-)
但是数据库有大量数据可以管理近50个表.在针对本地数据库进行开发时,我们可以直接访问数据库,因此我不需要此工具.部署后,Web应用程序将是访问数据的唯一方法,因此我无法使用此工具.但是我们还有一个测试阶段,数据库存储在本地域之外的另一个系统上,而这个数据库不适用于开发人员.只有管理员才能直接访问此数据库,从而使测试更加复杂.
但是,通过RESTful服务,我仍然可以直接访问数据.因此,当某些测试出错时,我可以通过此连接修复数据,或者只是为我本地系统上的测试创建数据副本.还有很多其他功能,甚至可以直接在Excel或XMLSpy中打开表服务的URL来查看内容.但是当我想要写回东西时,我必须编写特殊代码才能做到这一点.允许我访问数据并对其进行修改的通用工具会更容易.由于它是围绕ADO.NET数据服务的通用设置,因此这也应该是合理的.
因此,我可以做到,但希望其他人已经做了类似的事情.但似乎还没有制造这样的工具......
您指的是ADO.Net数据服务.它基本上创建了一个实体数据库模型,并使用ASMX向服务添加了一个REST前端.有一个如何文章从MSDN availble的位置上使用消耗净服务.我在过去使用.Net中的常规WebClient类也做了同样的事情.
如果要基于Entity Framework自行推出WCF REST入门工具包,也可以查看它.入门工具包还包含一个方便的新WebClient类,可用于与REST服务进行通信.
澄清
没有预先知道的预先构建的应用程序客户端将与这些服务进行通信,因为它们几乎使用Web服务访问数据.有一个微软智能客户端工厂,这很可能是我最接近的工作.
我提到了上面两个选项,因为它们已经在.Net中直接使用了它们,可以作为引用的Web服务,也可以使用WebClient库或者WCF REST中新的HTTPClient库,包括我自己在内的更多adventurious.入门套件.
我在Windows,Web,Silverlight和WCF中都使用了它们.后者是最简单的,因为他们专注于REST.
我们目前正在调查Prism,它在使用WCF进行前端开发时强烈倾向于使用此方法.
假设
关于这个问题,您正在做出一个通用的假设,即使用WCF服务包装ADO实体框架它将是通用的.ADO.Net数据服务是您最接近的,但数据库的结构将从根本上改变您与之交互的方式.以"通用"方式提高水平将是危险的,因为这两种技术单独或一起已尽可能通用.