Yordi.EntityMultiSQL
1.1.1
dotnet add package Yordi.EntityMultiSQL --version 1.1.1
NuGet\Install-Package Yordi.EntityMultiSQL -Version 1.1.1
<PackageReference Include="Yordi.EntityMultiSQL" Version="1.1.1" />
<PackageVersion Include="Yordi.EntityMultiSQL" Version="1.1.1" />
<PackageReference Include="Yordi.EntityMultiSQL" />
paket add Yordi.EntityMultiSQL --version 1.1.1
#r "nuget: Yordi.EntityMultiSQL, 1.1.1"
#:package Yordi.EntityMultiSQL@1.1.1
#addin nuget:?package=Yordi.EntityMultiSQL&version=1.1.1
#tool nuget:?package=Yordi.EntityMultiSQL&version=1.1.1
Yordi.EntityMultiSQL
Descrição
Yordi.EntityMultiSQL é um framework para criar instruções SQL para SQLite, MySQL e MSSQL. Ele permite realizar operações CRUD, criar tabelas e campos com base nos objetos POCO.
Características
- Suporte para SQLite, MySQL e MSSQL
- Operações CRUD (Create, Read, Update, Delete)
- Criação automática de tabelas e campos com base em objetos POCO
- Suporte para atributos personalizados para controle de mapeamento de colunas
Requisitos
- .NET 8.0
Instalação
Para instalar o pacote, adicione a seguinte referência ao seu projeto: <pre>dotnet add package Yordi.EntityMultiSQL</pre>
Evolução
. 1.1.0 - Acréscimo de atributo Verbose, definido em configuração (DBConfig), para descrever em log a maioria dos CRUD (exceto R) . 1.0.3 - Mudança de biblioteca de comunicação com SQLite. Voltamos para System.Data.SLite. . 1.0.2 - Correção de bugs . 1.0.1 - Correção de bugs . 1.0.0 - Versão inicial
Uso
Configuração
Primeiro, configure a conexão com o banco de dados implementando a interface IBDConexao
:
<pre>public class MinhaConexao : IBDConexao { // Implementação dos métodos e propriedades da interface IBDConexao }</pre>
Repositório
Crie uma classe de repositório que herda de RepositorioAsyncAbstract<T>
ou RepositorioGenerico
:
<pre>
public class MeuRepositorio : RepositorioGenerico<POCOclass> { public MeuRepositorio(IBDConexao bd) : base(bd) { }
// Métodos específicos do repositório
}
</pre>
Entidade
Defina suas entidades POCO com os atributos necessários: <pre> [POCOtoDB(Tipo = POCOType.CADASTRO)] public class POCOclass { [Autoincrement] public int Id { get; set; } [Key] public string KeyProperty { get; set; } // Outros campos } </pre>
Exemplo de uso
<pre>
using Yordi.EntityMultiSQL;
class Teste : EventBaseClass
{
async Task Test()
{
IBDConexao conexao = new MinhaConexao();
IEnumerable<Type> types = conexao.Tabelas; // new List<Type>() { typeof(POCOclass)}
TableCheckByType bllCheckTable = new TableCheckByType(TipoDB, conexao);
foreach (var type in types)
{
if (!await bllCheckTable.CriaTabela(type, false))
Message($"Verificação da tabela {type.Name} resultou em erro");
}
var repositorio = new MeuRepositorio(conexao);
var entidade = new POCOclass { KeyProperty = "Exemplo" };
repositorio.Insere(entidade);
}
}
</pre>
Contribuição
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests no repositório GitHub.
Licença
Este projeto está licenciado sob a MIT License.
Autores
- Leopoldo Yordi (leoyordi)
Agradecimentos
Agradecemos a todos os contribuidores e usuários do projeto!
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- MySql.Data (>= 8.0.33)
- SQLitePCLRaw.bundle_e_sqlite3 (>= 2.1.10)
- SQLitePCLRaw.core (>= 2.1.10)
- System.Data.SQLite (>= 1.0.119)
- Yordi.Tools (>= 1.0.12)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.