Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework Silverlight客户端中实体的助手属性,共享代码_Entity Framework_Mvvm_Ria_Domainservices - Fatal编程技术网

Entity framework Silverlight客户端中实体的助手属性,共享代码

Entity framework Silverlight客户端中实体的助手属性,共享代码,entity-framework,mvvm,ria,domainservices,Entity Framework,Mvvm,Ria,Domainservices,我试图找出如何为给定的实体类型创建在Silverlight客户端中公开的其他“计算”属性。我的解决方案结构如下(简化): 名称空间“数据访问”,类库,保存我的EDMX 命名空间“Web”Web应用程序,承载silverlight应用程序以及通过EDMX投影的域服务(因此它有一个对“数据访问”项目的引用) 名称空间“SLApp”,Silverlight应用程序 我的一个实体是Person(非常简单): 我希望有一个名为FullName的“helper”/“computed”属性,它将名字和姓氏简单

我试图找出如何为给定的实体类型创建在Silverlight客户端中公开的其他“计算”属性。我的解决方案结构如下(简化):

名称空间“数据访问”,类库,保存我的EDMX 命名空间“Web”Web应用程序,承载silverlight应用程序以及通过EDMX投影的域服务(因此它有一个对“数据访问”项目的引用) 名称空间“SLApp”,Silverlight应用程序

我的一个实体是Person(非常简单):

我希望有一个名为FullName的“helper”/“computed”属性,它将名字和姓氏简单地放在一起。在过去,这很容易;创建我自己的公共部分类Person类并添加属性/逻辑,然后我可以将其作为普通属性使用。但是RIA域服务似乎没有公开该属性,所以我不能在客户端上使用它。如果EDMX在Web应用程序中,我可以使用.Shared.cs文件并将其包含在SL应用程序中(我猜),但我不希望我的EDMX出现在Web应用程序中(感觉很脏:)

我使用的是MVVM模式,因此我可以在ViewModel类上创建属性,但似乎我必须多次复制该逻辑(任何需要全名属性的ViewModel)。我尝试在SL应用程序中为Person对象创建一个名为FullName的扩展方法,但显然无法绑定到扩展方法

我是Silverlight的新手,这是我的第一个“真实”应用程序,所以我可能只是错过了一些非常简单的东西。。。我希望我是。任何帮助都会很好


谢谢大家!

您是否已将
[DataMember]
属性添加到您的计算属性中

[DataMember]
public string FullName
{
    get { return string.Format("{0} (1)", this.FirstName, this.LastName); }
}
[DataMember]
public string FullName
{
    get { return string.Format("{0} (1)", this.FirstName, this.LastName); }
}