すべてのlinq2sqlクラスで基本的なメソッドを実行する汎用リポジトリを作成しようとしています。 (getById、insert、delete、getAll)linqtosqlクラスの汎用リポジトリのヘルプ
これを行う方法についてはわからない。 これまでのところ、getByIdメソッドはId属性を 'T'クラスに関連付けることができないため、エラーが発生しています。私はそれが(Idプロパティを持っていない)オブジェクトとしてタイプTのすべてのインスタンスを扱いますリポジトリクラス内
public class Repository<T> where T:class
{
private ClassesDataContext db = new ClassesDataContext();
public IQueryable<T> getAll()
{
return db.GetTable<T>();
}
public T getById(int id)
{
db.GetTable<T>().Where(e=>e.Id==id);
return db.GetTable<T>().Single(c =>c.Id==id);
}}
ねえ、...しかし、私は私のコントローラ にリポジトリをインスタンス化する方法を知りません リポジトリ companyrepository =新しいリポジトリ(); エラー –
ignaciofuentes
あなたの会社のクラスはEntityBaseクラスを継承していますか? –
いいえ、会社のクラスはデザイナーとlinqtosqlクラスとして自動的に作成されました...それから継承しなければならない場合、病気は別のアプローチを探す必要があります – ignaciofuentes