RIA Services を素のままで使うと、クライアントに生成されるモデルクラスは System.ServiceModel.DomainServices.Clien.Entity を継承したものになります。
この場合、モデルクラスに共通のコードを書くようなことができません。
そんな時、RIA Services T4 Template の機能を使って、自分で生成されるコードを制御しましょうというお話です。
今回は Entity クラスの継承をやめて 独自の EntityBase というクラスに差し替えてみたいと思います。
サーバーサイドのコード
クライアントサイドのコード
ポイントは MyClientCodeGenerator に DomainServiceClientCodeGenerator という カスタム属性をくっつけてるところです。これは System.ComponentModel.Composition.ExportAttribute を継承したクラスで DomainSetvice クラスからクライアントコードが生成される時に MEF が勝手にこちらの Generator を 使うようにしてくれるみたいです。
サンプルなので、簡単な実装ですが、CSharpEntityGenerator の方は Refrector で見ると結構細かいことやってます。どこまで実装するかはめんどくささとの兼ね合いで判断してください。 また、今回は Entity の差し替えでしたが、RIA Services で生成されるコードはすべて差し替え可能なので、いろいろ見てみるといいかもしれません。