Visual Studio 2012 を使用して OData wcf データ サービスを作成することに興味があります。ただし、エンティティ モデル フレームワークを使用するのではなく、nosql データセットを使用しないスキームを使用してデータを保存および取得します。Microsoft のエンティティ フレームワークなどの特定のクラス構造に縛られることなく、odata サービスを制御できる方法はありますか。
質問する
1947 次
1 に答える
4
Entity Framework なしで Microsoft OData 実装を使用できます。必要なのは の実装ですIQueryable
。オブジェクトの配列を照会する OData サービスの例を次に示します。
using System.Web.Http;
using System.Web.Http.OData;
using System.Web.Http.OData.Builder;
using System.Web.Http.OData.Query;
// GET api/values
[ActionName("FromList")]
public IList<Poco> GetFromList(ODataQueryOptions<Poco> queryOptions)
{
IQueryable<Poco> data = (
new Poco[] {
new Poco() { id = 1, name = "one", type = "a" },
new Poco() { id = 2, name = "two", type = "b" },
new Poco() { id = 3, name = "three", type = "c" }
})
.AsQueryable();
var t = new ODataValidationSettings() { MaxTop = 25 };
queryOptions.Validate(t);
var s = new ODataQuerySettings() { PageSize = 25 };
IEnumerable<Poco> results =
(IEnumerable<Poco>)queryOptions.ApplyTo(data, s);
return results.ToList();
}
public class Poco
{
public int id { get; set; }
public string name { get; set; }
public string type { get; set; }
}
于 2013-05-24T09:44:15.443 に答える