SQLite连接-注入
我正在尝试创建一个具有独立类的解决方案,因此我有:SQLite连接-注入,sqlite,xamarin,mvvmcross,Sqlite,Xamarin,Mvvmcross,我正在尝试创建一个具有独立类的解决方案,因此我有: public class RepositorioPadrao<TEntidade> : IRepositorioPadrao<TEntidade> where TEntidade : class { public readonly ISQLiteConnection _connection; public RepositorioPadrao(ISQLiteConnectionFactory f
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);
}
公共类RepositorioPadrao:IRepositorioPadrao
TEntidade的位置:类
{
公共只读ISQLiteConnection\u连接;
公共仓库(ISQLiteConnectionFactory)
{
_connection=factory.Create(“easybudget.sql”);
_connection.CreateTable();
}
公共虚拟空间插入器(TEntidade objeto)
{
_连接。插入(objeto);
}
那么要使用它,我有:
public class RepositorioDeCategoria : RepositorioPadrao<Categoria>, IRepositorioDeCategoria
{
public List<Categoria> ObterTudo()
{
return _connection
.Table<Categoria>()
.OrderByDescending(x => x.Descricao)
.ToList();
}
}
公共类RepositorioDeCategoria:RepositorioPadrao,IRepositorioDeCategoria
{
公共列表obertudo()
{
返回连接
.表(
.OrderByDescending(x=>x.descripcao)
.ToList();
}
}
问题是,
EasyBudget.Core.Repositorio.RepositorioPadrao
不包含接受0个参数的构造函数。要解决当前的问题,可以向RepositorioDeCategoria添加一个调用基类的构造函数:
public RepositorioDeCategoria(ISQLiteConnectionFactory factory)
: base(factory)
{
}
或者,如果您将拥有多个
类别
,并且希望它们共享相同的\u连接
,那么您可能需要重新组织类,以便它们使用某种形式的聚合而不是继承