如何从数据库中公开数据以便查询?

时间:2017-10-31 17:49:47

标签: c# sql-server asp.net-mvc asp.net-web-api2

我需要围绕几个数据库表设计一个包装器,允许客户端只执行 GET

http://myservice/accounts?$filter=name eq alex

然后,此服务将对数据库表应用该查询,如:

create table account (name varchar, key int)

我们会有一些控制器可以获取该查询字符串并将其应用于伪代码中的数据集:

public class AccountsController
{
   public HttpResponseMessage Get()
   {
        return _dataSource.Get(Request.ODataQueryString);
    }
}

我们如何通过odata公开sql server表以便于查询?

1 个答案:

答案 0 :(得分:3)

假设您正在使用EntityFramework,您只需要将控制器注册为OData端点,使用OData [EnableQuery]属性进行修饰,并通过控制器方法返回您要定位的类的实例:

https://docs.microsoft.com/en-us/aspnet/web-api/overview/odata-support-in-aspnet-web-api/odata-v4/create-an-odata-v4-endpoint