我正在使用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