2013-06-06 47 views
0

我試圖創建各個班級的解決方案,所以我有:SQLite的連接 - 注射

public class RepositorioPadrao<TEntidade> : IRepositorioPadrao<TEntidade> 
    where TEntidade : class 
{ 

    public readonly ISQLiteConnection _connection; 

    public RepositorioPadrao(ISQLiteConnectionFactory factory) 
    { 
     _connection = factory.Create("easybudget.sql"); 
     _connection.CreateTable<TEntidade>(); 
    } 

    public virtual void Inserir(TEntidade objeto) 
    { 
     _connection.Insert(objeto); 
    } 

然後使用這個我有:

public class RepositorioDeCategoria : RepositorioPadrao<Categoria>, IRepositorioDeCategoria 
{ 
    public List<Categoria> ObterTudo() 
    { 
     return _connection 
       .Table<Categoria>() 
       .OrderByDescending(x => x.Descricao) 
       .ToList(); 
    } 
} 

的問題是,EasyBudget.Core.Repositorio.RepositorioPadrao<EasyBudget.Core.Dominio.Categoria>不包含帶0參數的構造函數。

回答

0

爲了解決當前的問題,你可以添加一個構造函數來RepositorioDeCategoria調用基類:

public RepositorioDeCategoria(ISQLiteConnectionFactory factory) 
     : base(factory) 
{ 
} 

另外,如果你打算有幾個Categoria你希望他們分享同樣的_connection,那麼你可能想重新組織你的類,以便他們使用某種形式的聚合而不是繼承。