2011-12-14 2 views
0

特定のエンティティタイプのSilverlightクライアントで公開される追加の「計算済み」プロパティを作成する方法を理解しようとしています。Silverlightクライアント、共有コードのエンティティからのヘルパープロパティ

ネームスペースEDMXを保持するクラスLib ネームスペースSilverlightアプリケーションをホストする "Web" Webアプリケーションと、EDMXを介してプロジェクションするドメインサービス(ネームスペース)は次のとおりです(簡体字)。 (だから、「データアクセス」プロジェクトへの参照を持っている。) 名前空間「SLAPP」、私のエンティティのSilverlightのアプリケーション

一つは、(非常に単純化された)人である:

public partial class Person 
{ 
    public string FirstName {get; set;} 
    public string LastName {get; set;} 
} 

私が持っていると思いますFullNameと呼ばれる「ヘルパー」/「計算済み」プロパティーは、最初と最後の名前をゲッターこれまでは簡単でした。私の独自のパブリックパーシャルクラスPersonクラスを作成し、プロパティ/ロジックを追加して、それを通常のプロパティとして使用することができます。しかし、RIAドメインサービスはそのプロパティを公開していないようですので、クライアントで使用することはできません。 EDMXがWebアプリケーションに含まれていた場合、.Shared.csファイルを使用してSLアプリに含めることができましたが、私はEDMXをWebアプリケーションに入れたくありません(汚い感じ:) :)

私はMVVMパターンを使用しているので、ViewModelクラスのPropertyを作成することはできますが、そのロジックを何度も複製する必要があるようです(FullNameプロパティが必要なViewModel)。私はFullNameと呼ばれるSLアプリケーションのPersonオブジェクトの拡張メソッドを作成しようとしましたが、明らかに拡張メソッドにバインドすることはできません。

私はSilverlightを初めて使用しています。これは初めての「本当の」アプリケーションなので、多分簡単なものが欠けているかもしれません...私は願っています。どんな助けも素晴らしいだろう。

ありがとうございました!

答えて

0

[DataMember]属性を計算されたプロパティに追加しましたか?

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

:) Doh!それは簡単でした、ありがとう! – SCEV

関連する問題