WCF Data Services 5.0 和 EF 4.3 Code First


WCF Data Services 5.0已經在4月9日發布,支持OData V3版本的協議。之前版本的WCF Data Services是隨.NET FX 4.0發布的,這次是單獨提供了安裝包下載。這個版本有幾個特性很不錯,具體參看文章 http://blogs.msdn.com/b/writingdata_services/archive/2012/04/09/my-favorite-things-in-odata-v3-and-wcf-data-services-5-0.aspx

新特性主要用於支持開放式數據協議(OData)版本3中的增強部分。以下是部分有趣的特性:

  • 詞匯表(Vocabularies) —— 標注,主要為使用OData發布的數據提供更豐富的描述(例如,類型驗證/范圍/顯示相關的元數據);
  • 操作提供器(Action Providers) ——一種通過在數據中描述URI來注入行為的方法。用戶可以通過向這些URI發送請求用於引發一些操作,該特性同樣工作於Entity Framework
  • 16項新的空間原語(Spatial Primitives)——它允許客戶端在過濾、投影和排序子句中對地理空間數據執行操作;
  • ODataLib現在支持對所有的OData負載進行序列化和反序列化;
  • EdmLib—— 構建服務的EDM以用於OData序列化/反序列化,其中包括支持標注;
  • 支持Any/All查詢(目前還不支持聯接Join)。

EF 4.3對Code First的支持也很不錯,如何在EF 4.3的Code First結合WCF Data Service,可以參考http://msdn.microsoft.com/zh-cn/library/hh527719。這篇文章的代碼經過簡單的修正就可以跑了。

namespace CustomerDataServices
{
  public class CustomerDataService : DataService<CustomerOrderContext>
  {
    public static void InitializeService(DataServiceConfiguration config)
    {
      config.SetEntitySetAccessRule("*", EntitySetRights.AllRead);
      config.SetEntitySetAccessRule("Customers", EntitySetRights.AllRead | EntitySetRights.WriteMerge);
      //config.SetEntitySetAccessRule("EdmMetadatas", EntitySetRights.None);
      config.UseVerboseErrors = true;
      config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V3;
    }
  }
}

Visual Studio 2010 中的實體框架 4.0 和 WCF 數據服務 4.0

WCF Data Services Action Provider for Entity Framework


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM