IDbSet インターフェイスを実装して FakeDataSet クラスを実装しています。このインターフェイスを実装する一環として、Find メソッドを実装する必要があります。すべてのエンティティ クラスには、Guid タイプ Id 列があります。この FakeDbSet クラスの Find メソッドを実装しようとしていますが、一般的な方法で記述するのに苦労しています。以下は、このメソッドを作成するための私の試みです。
public class FakeDataSet<T> : IDbSet<T> where T: class, new()
{
// Other methods for implementing IDbSet interface
public T Find(params object[] keyValues)
{
var keyValue = (Guid)keyValues.FirstOrDefault();
return this.SingleOrDefault(m => m.Id == keyValue); // How can I write this
}
}
Id が Guid 型であることを認識していないため、m.Id 呼び出しでコンパイル エラーが発生します。
'T' には 'Id' の定義が含まれておらず、タイプ 'T' の最初の引数を受け入れる拡張メソッド 'Id' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)
これをどのように達成できるかについてのアイデアはありますか?