Yordi.EntityMultiSQL
1.1.3
The functionality added in this version, the IPOCOtoDB interface, has no applicability and has been removed. Also, IChave and Chave objects was migrated to Yordi.Tools.1.0.14.
See the version list below for details.
dotnet add package Yordi.EntityMultiSQL --version 1.1.3
NuGet\Install-Package Yordi.EntityMultiSQL -Version 1.1.3
<PackageReference Include="Yordi.EntityMultiSQL" Version="1.1.3" />
<PackageVersion Include="Yordi.EntityMultiSQL" Version="1.1.3" />
<PackageReference Include="Yordi.EntityMultiSQL" />
paket add Yordi.EntityMultiSQL --version 1.1.3
#r "nuget: Yordi.EntityMultiSQL, 1.1.3"
#:package Yordi.EntityMultiSQL@1.1.3
#addin nuget:?package=Yordi.EntityMultiSQL&version=1.1.3
#tool nuget:?package=Yordi.EntityMultiSQL&version=1.1.3
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.2 - Correção de bug na criação de tabelas SQLite com campos do tipo Guid. Agora trata como BLOB. . 1.1.1 - Correção de mensagem de log para inclusão de registros com o atributo Verbose. . 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 (>= 2.0.2)
- 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.