OData端点的自定义表映射

时间:2014-07-29 20:36:39

标签: sql odata

我已经成功完成了一些用于创建Web API Odata服务的示例。如:

  • 创建模型类“Employee”
  • 创建控制器“EmployeesController”
  • 使用GET / Employees获取记录列表

这些示例将创建一个名为“Employees”的SQL表。如何将此模型\控制器映射到名为“corpemployee”的现有SQL表?

由于

1 个答案:

答案 0 :(得分:0)

首先需要执行sql语句并将结果映射到Employee对象,例如:

public class EmployeesController:ODataController
{
    public IHttpActionResult Get()
    {
        string sql="select * from corpemployee";
        // Create a database connection
        // Execute the sql statement
        IList<Employee> employees=new List<Employee>();
        Employee employee=new Employee();
        foreach(var result in resultset)
        {
             Employee employee=new Employee(); 
             emmployee.ID=result["ID"];
             // Other properties go here
             employees.Add(employee);
        }
        return Ok(employees);
    }
}

当然还有其他选择,例如使用O / R映射框架:

  1. http://aspnet.codeplex.com/SourceControl/latest#Samples/WebApi/OData/v4/NHibernateQueryableSample/

  2. http://aspnet.codeplex.com/SourceControl/latest#Samples/WebApi/OData/v4/ODataDollarFormatSample/,它使用实体框架。