我正在使用EDMX創建WCF數據服務的OData服務。如何爲實體類型創建計算屬性,以便其值在服務(C#)中進行計算,而不是來自數據庫?
此屬性的值基於映射到數據庫中的字段的其他屬性的值。如何在數據服務(OData)中創建計算屬性?
6
A
回答
2
我發現的解決方案是使用Entity Framework Code First而不是EDMX。它允許您通過在代碼中創建標準屬性來創建計算屬性。
下面是一個例子:
public class Person
{
public String FirstName { get; set; }
public String LastName { get; set; }
public String FullName
{
get { return FirstName + " " + LastName; }
}
}
2
如果直接暴露你的EDMX文件,使用默認的實體框架提供數據服務的,是這樣的:
public class MyService: DataService<MyEntities> {
然後不幸的是你不能公開任何「新」的性質是不在底層的Entity Framework EDM模型中。
說了你還有其他選擇,你可以編寫一個反射提供程序或自定義提供程序,它可以添加額外的屬性並將大部分工作委託給EF。
問題是設置所有委派今天不容易。
這個series of posts解釋提供者和如何創建一個基於自定義提供者的服務,而這one shows如何使用反射提供者創建一個服務。
+0
由於亞歷克斯。我會將您的答覆標記爲已接受的答案,儘管我找到了一個更簡單的解決方案:不是使用EDMX,而是使用實體框架代碼優先;它允許我通過在代碼中創建屬性來創建計算屬性。我將在博客文章中記錄這一點。 – Fabrice 2010-10-06 08:08:02
相關問題
- 1. 如何創建一個計算屬性
- 2. 如何從OData服務的導航屬性獲取數據
- 3. 如何使用PHP創建Odata服務?
- 4. 如何爲SAPUI5 TreeTable創建OData服務?
- 5. 如何在PosgreSQL中創建計算屬性
- 6. 在計算屬性中加載數據
- 7. 計算字段和OData/WCF數據服務
- 8. WCF數據服務(OData) - 使用外鍵擴展導航屬性
- 9. Ember服務對象的計算屬性
- 10. Asynch WCF數據服務/ OData
- 11. WCF數據服務ODATA
- 12. Dojo + WCF數據服務+ OData
- 13. 核心數據中的計算屬性
- 14. 如何在android上創建訪問OData服務的代理
- 15. 在ASP.NET中如何計算'name'屬性?
- 16. 如何在IIS7中託管WCF數據服務(OData)?
- 17. 計算屬性在服務中不起作用
- 18. 如何使用模板爲C++類創建「計算屬性」
- 19. 如何在數據庫計算表(hibernate)中創建值?
- 20. 如何在Lightswitch C#中的實體的計算屬性中創建「IF」語句?
- 21. 如何在數據庫設計中建模屬性單元?
- 22. 實體框架計算屬性Odata Feed中未顯示
- 23. 如何在RIA服務中使用OData
- 24. 如何從計算屬性中訪問數據Vue.js
- 25. 如何在警報中創建計算?
- 26. 如何在iframe中創建HTML5數據屬性
- 27. 如何在數據註釋中創建自定義屬性
- 28. 如何在Elm中創建HTML數據屬性?
- 29. 如何使用odata服務從manifest.json動態創建模型
- 30. 如何創建批處理端點用於asp.net OData web服務
不幸的是,它僅適用於提供能力構建只讀數據服務的反射提供程序。 – 2014-09-05 07:59:24