特定のエンティティ タイプの Silverlight クライアントで公開される追加の「計算された」プロパティを作成する方法を見つけようとしています。私のソリューション構造は次のとおりです(簡略化):
Silverlight アプリケーションと EDMX を介してプロジェクトするドメイン サービスをホストする EDMX 名前空間「Web」Web アプリを保持する名前空間「データ アクセス」、クラス Lib (したがって、「データ アクセス」プロジェクトへの参照があります)。名前空間「SLApp」、Silverlight アプリ
私のエンティティの1つは Person です(非常に単純化されています):
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クラスでプロパティを作成するだけで済みますが、そのロジックを何度も複製する必要があるようです(FullNameプロパティが必要なViewModel)。FullName という SL アプリの Person オブジェクトの拡張メソッドを作成しようとしましたが、拡張メソッドにバインドできないようです。
私は Silverlight を初めて使用しますが、これは私の最初の「実際の」アプリケーションであるため、非常に単純なものが欠けているだけかもしれません...そうであることを願っています。どんな助けでも素晴らしいでしょう。
ありがとうございました!