将 LinqToSql 与 OData WebApi 一起使用?
using LinqToSql with OData WebApi?
我们有一个使用 LinqToSql
作为其 ORM
的项目,我们希望使用 OData
版本 4 公开我们的实体(据我所知,我们可以不要使用 WCF Data Services
,我们应该使用 Web Api
。
到目前为止,我在网上找不到任何示例或文档来说明如何将 LinqToSql
与 OData WebApi
一起使用。
问题是 ODataConventionModelBuilder
与 EntityFramework
一起工作(实际上它的默认约定集与 DataComponentModel
注释一起工作,这些注释未在我们的 LinqToSql
实体中使用)
我正在寻找与 System.Data.Linq.Mapping
一起制作模型的 ODataModelBuilder
。
另一种解决方案是为 ODataConventionModelBuilder
找到与 LinqToSql
映射注释一起使用的正确约定集。
我不知道这个模型生成器是否存在,或者我们应该自己实现吗?
Linq to SQL 没有现成的模型构建器。有几种不同的方法可以解决您的问题。
派生自 ODataModelBuilder
自定义生成器 class,它识别 System.Data.Linq.Mapping
中定义的注释。
Build the model manually使用股票的方法ODataModelBuilder
。
构建一组数据传输 classes 来表示您希望通过服务公开的确切类型和属性,然后编写一个实用程序将数据传输对象转换为数据存储对象,反之亦然。在数据传输层中,classes 可以遵守 ODataConventionModelBuilder
认可的约定(例如,对于 class,关键属性被命名为 Id
或 FooId
名为 Foo
)。借助 AutoMapper. See ASP.NET WebApi OData support for DTOs, DTO and Projections in WebAPI, and Web API Deep Dive - DTO Transformations and Automapper.
这样的库,可以轻松编写转换实用程序
我们有一个使用 LinqToSql
作为其 ORM
的项目,我们希望使用 OData
版本 4 公开我们的实体(据我所知,我们可以不要使用 WCF Data Services
,我们应该使用 Web Api
。
到目前为止,我在网上找不到任何示例或文档来说明如何将 LinqToSql
与 OData WebApi
一起使用。
问题是 ODataConventionModelBuilder
与 EntityFramework
一起工作(实际上它的默认约定集与 DataComponentModel
注释一起工作,这些注释未在我们的 LinqToSql
实体中使用)
我正在寻找与 System.Data.Linq.Mapping
一起制作模型的 ODataModelBuilder
。
另一种解决方案是为 ODataConventionModelBuilder
找到与 LinqToSql
映射注释一起使用的正确约定集。
我不知道这个模型生成器是否存在,或者我们应该自己实现吗?
Linq to SQL 没有现成的模型构建器。有几种不同的方法可以解决您的问题。
派生自
ODataModelBuilder
自定义生成器 class,它识别System.Data.Linq.Mapping
中定义的注释。Build the model manually使用股票的方法
ODataModelBuilder
。构建一组数据传输 classes 来表示您希望通过服务公开的确切类型和属性,然后编写一个实用程序将数据传输对象转换为数据存储对象,反之亦然。在数据传输层中,classes 可以遵守
ODataConventionModelBuilder
认可的约定(例如,对于 class,关键属性被命名为Id
或FooId
名为Foo
)。借助 AutoMapper. See ASP.NET WebApi OData support for DTOs, DTO and Projections in WebAPI, and Web API Deep Dive - DTO Transformations and Automapper. 这样的库,可以轻松编写转换实用程序