クライアントが Entity Framework を使用しているプロジェクトがあり、生成されたクラスを残りのアプリケーションから抽象化しようとしています。
生成されたクラスの 1 つは Category で、Type というプロパティがあります。
次のように、Category に実装するインターフェイスを作成しました。
public interface ICategory
{
string Type { get; set;}
}
以前に LINQ to SQL でこれを行ったことがありますが、問題なく動作します。別のファイルに部分クラスを作成し、インターフェイスを実装します。
public partial class Category: ICategory
//implement interface
ただし、EF を使用してクエリを作成しようとすると、OfType<>() をサポートしていないと表示されます。
例:
var query = from c in DataContext.Category
where Type == "some type"
select c;
var resultsList = query.OfType<ICategory>(); //error here (not supported)
ここで何が間違っていますか?
その他の注意点: Silverlight アプリケーションでこれを開発しており、データ コンテキストは実際にはサービスから取得されているため、ここでもクライアントとサーバーの関係が進行しています。