.NET RIAサービスの7月のプレビューを使用して、Silverlightクライアントとサーバー間の通信を行っています。サーバーには、SilverlightアプリケーションをホストするASP.NETプロジェクトがあります。ASP.NETアプリケーションには、Hourというテーブルを持つLinq-to-SqlDataModelがあります。Hour.shared.csを作成して、3つのプロパティでHourエンティティを拡張しました。
public partial class Hour
{
public string CustomerName { get; set; }
public string ProjectName { get; set; }
public string FullProjectName { get { return this.CustomerName + " - " + this.ProjectName; } }
}
私のドメインサービスには、GetHoursというgetメソッドがあります。Linqの設計により、Hourエンティティの新しいインスタンスを明示的に作成することはできず、新しいエンティティを介して新しいプロパティの値を設定します。
var query = from hours in this.Context.Hours
select new Hour()
{
HourID = hours.HourID,
ProjectName = "Hello World"
};
時間を選択するだけで問題なく動作しますが、ProjectNameとCustomerNameをなんらかの方法で設定する必要があります。
これを回避する方法について何かアイデアはありますか?