Quantcast
Channel: かずきのBlog@hatena
Viewing all articles
Browse latest Browse all 1387

ASP.NET WebAPIのOData v4でファンクション定義 その3

$
0
0

次はコレクションに関数を生やします。

引数つけると何故か成功しなかったので引数無しで…。

using System.Web.Http;
using System.Web.OData.Builder;
using System.Web.OData.Extensions; // MapODataServiceRouteに必要using WebApplication5.Controllers;

namespace WebApplication5
{
    publicstaticclass WebApiConfig
    {
        publicstaticvoid Register(HttpConfiguration config)
        {
            var b = new ODataConventionModelBuilder();
            b.EntitySet<Person>("People");
            
            // EntityTypeのCollectionに関数を生やす
            var addFunction = b.EntityType<Person>()
                .Collection
                .Function("Add");
            addFunction.Returns<double>();

            config.MapODataServiceRoute(
                "ODataRoute",
                "odata",
                b.GetEdmModel());
        }
    }
}

メソッドもコントローラに普通に定義

[HttpGet]
public IHttpActionResult Add()
{
    return Ok(13.0);
}

呼び出し側は、Peopleに直接メソッドが生えてる。

var c = new Container(new Uri("http://localhost:7650/odata"));
var answer = c.People
    .Add()
    .GetValue();
Console.WriteLine(answer);

Viewing all articles
Browse latest Browse all 1387

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>