gpt4 book ai didi

c# - 在 WCF 数据服务中公开实体的其他属性

转载 作者:行者123 更新时间:2023-11-30 16:21:17 25 4
gpt4 key购买 nike

我觉得我可能在这里遗漏了一些关键的东西(或者只是简单的),但是我无法让它工作。


鉴于我已经创建了一个 ASP.NET (.NET 4.0) Web 应用程序项目,我在其中托管了一个 WCF 数据服务。我已经从现有数据库生成了 POCO 实体的 EF 5.0 模型,并且像往常一样,实体类是部分

我想,

Gee, I'll "extend" these partial classes to expose additional (non-persisted, calculated) properties* in the data service.

* 为了简洁起见,我们假设一个 Person 实体,我想向其添加一个 FullName 属性,该属性连接 FirstNameLastName

无论如何,我继续我的业务,​​继续部分类(当然在同一个命名空间中)

public partial class Person {
public string FullName {
get { return this.FirstName + " " + this.LastName; }
}
}

但是,当我在服务中查询Person 实体时,没有FullName。当我查询服务的 $metadata 时,没有定义 FullName

需要做什么(如果有的话)来支持这个?


注意事项

  • 所有实体都可以通过 config.SetEntitySetAccessRule("*", EntitySetRights.All);
  • 看到
  • 我尝试使用各种属性进行装饰,但没有成功,包括属性上的 EdmScalarPropertyAttributeDataMemberAttribute

最佳答案

除非它在 ​​.NET 4.5 中有所改变(我没看过),否则我认为这行不通。 DataService<T>极其有限。它甚至不支持所有 EF 功能。数据服务本身非常灵活,并且you can define an entirely custom service which returns anything you want .但是你不会得到你的 EF 上下文的“自动”映射。

所以很遗憾,您必须在“简单但有限”和“困难但灵活”之间做出选择,几乎没有任何选择。

关于c# - 在 WCF 数据服务中公开实体的其他属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13378698/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com