如何编写自己的基于 XmlService 的 ORM?
Posted
技术标签:
【中文标题】如何编写自己的基于 XmlService 的 ORM?【英文标题】:How to write own XmlService-based ORM? 【发布时间】:2010-11-12 08:31:38 【问题描述】:这是一个问题。某处有一个 Oracle 数据库,但软件开发人员/用户无法访问它。相反,我们可以使用基于 xml 的 webservice,它是程序和数据库之间的链接,所以它是这样的:
1) 我想检索一个表。我有一个 WebMethod 。它返回此表的纯 xml。
2) 我想在表格中添加一行。我有一个 WebMethod 。它接受它需要的参数并返回简单的 xml 来确认操作是否成功。
存储在数据库中的每个实体的完整 SCUD(选择、创建、更新(我的情况 - 只需编辑一个)、删除)接口也是如此。不过那边有关系。
所以我想编写某种包装器来处理整个数据库。想象一下有这样的表格:
Customers
*Id
Name
Orders
*Id
CustomerId
OrderData
我想处理这样的请求:
var order = MYORM.GetOrders().First(); // first order
var customer = MYORM.GetOrders().First().Customer // first order's customer
var customers = MyORM.GetCustomers(); // returns customers list
但是!
customers.Contains(customer)
必须是 true
,甚至请求了 customers
,因此在 customer
之后实例化。
另外,所有的创建-删除-编辑操作也需要支持。
这就是 EF 的工作原理,但它的机制似乎过于复杂。有什么想法可以做到吗?
【问题讨论】:
我认为最合适的是创建一个 OData 接口。你可以非常快速地构建它,你可以在它后面使用 EntityFramework,而且它相当容易使用。在这里查看一个很棒的教程:Creating an OData API for *** including XML and JSON in 30 minutes. 【参考方案1】:从 SQL Server 2005 开始,您可以将数据库公开为托管在 sql server 中的 Web 服务。
【讨论】:
这与我所问的甚至不接近;)以上是关于如何编写自己的基于 XmlService 的 ORM?的主要内容,如果未能解决你的问题,请参考以下文章