2

我的“联系人”实体有一个属性:

public partial class Contact
{
    public string FullName { get { return this.FirstName + this.LastName; } set { } }
}

然后我使用微风从返回联系人的 Web API 函数中获取联系人数据。从我的 Web API 调用返回的数据具有“FullName”属性和向下传递给客户端的正确值,但我的“元数据”在其中的任何地方都没有“FullName”属性。我需要做什么才能获取元数据?

4

2 回答 2

0

我没有找到从服务器向元数据添加部分类项的明智解决方案。我的观点是,这应该被视为服务器 Breeze 元数据功能的错误。但是,扩展项目数据确实从服务器获得。
因此,如果您在客户端元数据存储中手动添加扩展属性,一切都应该没问题。这是您如何在 javascript 客户端代码中执行此操作的示例:

var man = new breeze.EntityManager(myServiceName);
man.metadataStore.registerEntityTypeCtor('Contact', function () { this.FullName = ''; });
于 2015-01-20T20:29:48.293 回答
-1

您真的不希望那些计算属性通过网络传输,是吗?为什么你有一个二传手?这是一个只读属性。如果这是一个 EF Code First 类,你是如何让 EF 不相信它FullName被映射到“Contact”表中的“FullName”列的?

我将假设您实际上并不希望“FullName”通过网络传输。您想使用自定义EntityType构造函数或初始化程序来扩展类型。我认为在这种情况下您需要一个初始化程序。

看一看“扩展实体”,它恰好用fullName属性说明了推荐的技术。

于 2013-04-21T03:54:29.523 回答