您能推荐一个支持通过网络查询数据的框架吗?
要求:
ORM功能 - 我希望在服务器和设备上表示模型。客户将不依赖。 例如:让我们说服务器将返回以下模型的客户端层:transaction(firstName,lastName,description,amount)。在dal层中,它被保存为:Customer(Id,fName,lName,address),Transaction(id,CustomerId,description,amount)
编写我自己的查询提供程序的选项(例如:HiveQL,SQL& etc)。
我尝试使用以下框架(但似乎不支持第一个需求):
提前致谢。
答案 0 :(得分:1)
Breeze确实提供了此功能,但您需要编写将OData查询转换为所选服务器实现的查询的服务器端代码。我们已经为不同的服务器/数据库技术提供了这些代码的几种实现,并计划在未来做更多的事情。
到目前为止,我们已经为包含Entity Framework和NHibernate ORM的.NET服务器以及使用MongoDB后端的Node服务器执行了此操作。我们还有其他开发人员在开发Ruby服务器。如果你想自己编写,你应该看看Breeeze / MongoDB源代码来看看它是如何完成的。
或者,如果您选择的服务器技术已经有OData提供商,那么Breeze可以与之交谈。
答案 1 :(得分:0)
OData确实提供了一种通过网络查询数据库的方法,例如
GET http://myservice/Products?$filter=Id gt 3 and contains(Name,'abc')
GET http://myservice/Products?$select=Id,Name,Provider&$orderby=ManufactureDate desc
以下是一些odata样本https://aspnet.codeplex.com/SourceControl/latest#Samples/WebApi/OData/v4/。在控制器中,您可以使用您喜欢的框架/提供程序从持久性中检索数据。
如果您想使用实体框架,请按以下步骤操作:https://aspnet.codeplex.com/SourceControl/latest#Samples/WebApi/OData/v3/ODataActionsSample/。