3

Internet 上有大量文章向您解释如何通过 Wcf 数据服务和实体框架将存储过程公开为 OData。这是一篇示例文章:http ://dotnet.dzone.com/news/exposing-stored-procedure-wcf

解决方案是这样写:

[WebGet]
public IQueryable<Course> GetCoursesOrderByTitle()
{
    return CurrentDataSource
    .GetCoursesOrderByTitle()
    .AsQueryable();
}

实际上,您需要创建一个方法并在两个位置枚举每个存储过程参数:作为上述方法的参数,然后作为 on 方法的参数CurrentDataSource。并且您需要对要公开的每个存储过程重复此操作。以上只是管道代码。每当参数更改或参数上的类型更改时,您都需要记住到这里进行更新,好像在 EF 模型中更新它还不够麻烦。

我知道我可以尝试编写代码生成,但我不知道这样做的简单方法并将其插入构建周期。

有人对这个问题有有效的解决方案吗?在我的项目中,我有相当多的存储过程暴露给 api,而不是一个,而是几个暴露它们的 WCF 数据服务,并且随着 API 的发展,这些服务的数量不断增长。如何保持这些低的维护时间?

4

0 回答 0