2016-07-30 5 views
0

私は、クライアント側のWCFデータサービスとエンティティフレームワークデータベースを最初に使用し、MVVMを使用するWPFを使用してクライアントサーバーアプリケーションを作成しようとしています。 これはすべて1ステップを除いて良いことでした ID、CreattionDateなどの各テーブルのすべての共通プロパティを実装するIPrimaryModelという共通インターフェイスを実装するために、(自動生成コードの問題を避けるために)各エンティティの部分クラスを実装しました以下 は一例であり:wcfデータサービスでエンティティフレームワークエンティティを実装するインターフェイスを使用する最善の方法

public Interface IPrimaryModel 
{ 
    string Id { get; set; } 
    string Observation { get; set; } 
    System.DateTime Creation_Date { get; set; } 
    Nullable<System.DateTime> Update_Date { get; set; } 
} 

及び各エンティティの:

public partial class Brand : IPrimaryModel {} 

MVVMパターンの私は、WCFで表される各エンティティに関連するすべてのビューモデルの基本的な一般的なクラスを作成しましたおよびEF

public abstract class PrimaryEntityVm<T> : DgVmSource where T : class, IPrimaryModel, new() 
{} 

が、問題がある:私は、クライアント側でWCFのIPrimaryModelを使用する方法を見つけることができないと私は同じコードを記述し、複数回を避けるために、一般的な操作のために、このインターフェイスを使用する必要が などこのコードcriteria.Add(new Predicate<T>(x => x.Id != null && x.Id.Contains(ObservationFilter)));

は、私は述語で、動的オブジェクト・タイプを使用して解決策を見つけ助け

+0

あなたは、あなたのインターフェイスを入れて新しいプロジェクトを作成することができます。次に、WCFとクライアント側でそのプロジェクトを参照します。 – Fabio

+0

あなたの答えをありがとうございますが、これはまた、型パラメータ 'T' bcsとして暗黙的な参照変換はありません常に使用することはできません。 – AbuDawood

+0

私は同じwcfプロジェクトを使用しようとしましたが、これもコンフリクトエラー.. – AbuDawood

答えて

関連する問題