KonnectorORM 4.0.3
See the version list below for details.
dotnet add package KonnectorORM --version 4.0.3
NuGet\Install-Package KonnectorORM -Version 4.0.3
<PackageReference Include="KonnectorORM" Version="4.0.3" />
paket add KonnectorORM --version 4.0.3
#r "nuget: KonnectorORM, 4.0.3"
// Install KonnectorORM as a Cake Addin
#addin nuget:?package=KonnectorORM&version=4.0.3
// Install KonnectorORM as a Cake Tool
#tool nuget:?package=KonnectorORM&version=4.0.3
Konnector ORM
Konnector ORM es una API para base de datos, cuenta con funciones que te ayudaran realizar operaciones CRUD, a mapear tablas de tu base de datos a clases y validar la información configurando un simple XML en tus clases modelo.
Descarga el proyecto de ejemplo
¿Como funciona esto?
Descarga el proyecto para que los ejemplos mostrados aquí tengan mayor sentido pero en general se describen y abstraen las carácteristicas principales.
Constructor
New(DBConnection as IConnection) Al instanciar un nuevo objeto debe importarse el namespace ORM para poder crear un nuevo objeto Konnector el cual recibe por parametro en su constructor una dependencia de interfaz IConnection que tiene 2 propiedades la cadena de conexión y el motor de la base de datos, siendo 1 Access y 2 MSSQL.
Imports ORM
Imports Connections
public class KonnectorSampleClass
Private K As Konnector = Nothing
Sub New()
K = New Konnector(New IConnection with {.ConnectionString="",.DBEngine=1}) '1=Access,2=MSSQL
End Sub
End class
KonnectorCatalog
Es la clase base de KonnectorORM cuando heredamos una clase que representa nuestra tabla en la base de datos, debemos implementar las 4 propiedades para conectar nuestra clase con la base de datos.
Imports ORM
Public Class Users : Inherits KonnectorCatalog
Public Overrides ReadOnly Property TableName As String
Get
Return "Users"
End Get
End Property
Public Overrides ReadOnly Property PrimaryKey As String
Get
Return "UserID"
End Get
End Property
Public Overrides ReadOnly Property XmlValidations As XDocument
Get
Return <?xml version="1.0" encoding="utf-8"?>
<validations>
</validations>
End Get
End Property
Public Overrides Property ID As Long
Get
Return Me.UserID
End Get
Set(value As Long)
Me.UserID = value
End Set
End Property
End class
- TableName : String
- Regresa el nombre de la tabla con la que se conectará la clase y es de solo lectura
- PrimaryKey : String
- Es el nombre de la llave primaria de nuestra tabla y es de solo lectura
- XmlValidations : XDocument
- Es un XML donde se describen las validaciónes que tendra que somterse la clase antes de ser ingresada a la base de datos y es de solo lectura.
- ID : Long
- En esta propiedad deberás indicar la propiedad de la clase que representa la Llave Primaria
Dentro del proyecto de ejemplo en la sub carpeta Models se encuentran los modelos mapeados a .NET con las 4 propiedades configuradas.
Funciones
Create(Of KonnectorCatalog):KonnectorCatalog
Regresa un nuevo objeto de tipo KonnectorCatalog, esta función inyecta 4 eventos listos para usarlos con el objeto los cuales son
- Insert(): Inserta en la base de datos y regresa el Identity en la propieda ID
- Update(): Actualiza la información en la base de datos
- Delete(): Borra el registro en la base de datos
- IsValidData(): Valida los datos ingresados vs el xml de validaciónes
Dim User = K.Create(Of User)()
User.UserName = "NuevoUsuario"
User.Email = "usermail@mail.com"
User.Rating = 99.5
User.CreatedOn = Now
If User.IsValidData() Then
User.Insert()
Else
'La excepción que arroja IsValidData cuando es false
Throw .ExceptionValidation
End If
User.UserName = "NuevoUsuarioModificado"
User.Update()
User.Delete()
ExecuteNonQuery(SQLQuery):Integer
Lo puedes usar para hacer updates masivos, inserts, deletes directamente con sentencias SQL
K.ExecuteNonQuery("update Users set UserName = UserName + '(ID:' + UserID + ')'")
ExecuteScalar(SQLNumericQuery):Double
Lo puedes usar para hacer ejecutar consultas que devuelven un valor númerico
Dim NumberOfUsers As Double = K.ExecuteScalar("select count(*) from Users")
GetCatalogList(Of KonnectorCatalog):List(Of KonnectorCatalog)
Recupera los registros de un catalogo (tabla) filtrando por sus columnas NOTA: Los objetos recuperados pueden invocar los metodos Insert(),Update(),Delete(),IsValidData()
Dim BestUsersRanking As List(Of Users) = k.GetCatalogList(Of Users)("UserName like 'J%' AND Rating>=8.5 ")
GetCatalogItem(Of KonnectorCatalog):KonnectorCatalog
Recupera un único registro de un catálogo (tabla en la base) filtrando por sus columnas
NOTA: El objeto recuperado puede invocar los métodos Insert(),Update(),Delete(),IsValidData()
Dim User = K.GetCatalogItem(Of Users)("UserID=1")
User.UserName = User.UserName & "(" & User.UserID & ")"
User.Update()
GetDataTable(SQLQuery):System.Data.DataTable
Ejecuta un query y devuelve un objeto System.Data.Datatable
Dim MyDataTable As System.Data.DataTable = K.GetdataTable("select * from Comments where UserID = 1 order by CreatedOn desc")
GetRecordSet(Of Type):List(Of Type)
Este metodo ejecuta el query de Sql y el resultado lo convierte a entidades del tipo que se pasa por parametro en la función. Regresa una lista de objetos donde cada registro de la consulta se mapeara automaticamente al tipo que se pasa por parametro en la función. Nota: Esta funcion es de solo consulta y no se pueden invocar los metodos Insert(),Update(),Delete(),IsValidData()
Dim Comentarios As List(Of UserComments) = K.GetRecordSet(Of UserComments)("select Users.*,Comments.* from Users inner join Comments on Comments.UserID = Users.UserID")
GetRecord(Of Type):Type
Este metodo ejecuta el query de Sql y el resultado lo convierte a entidades del tipo que se pasa por parametro en la función. Regresa un solo objeto de la consulta se mapeara automaticamente al tipo que se pasa por parametro en la función. Nota: Esta funcion es de solo consulta y no se pueden invocar los metodos Insert(),Update(),Delete(),IsValidData()
Dim Comentario As UserComments = K.GetRecord(Of UserComments)("select top 1 Users.*,Comments.* from Users inner join Comments on Comments.UserID = Users.UserID")
LookUp("Field","Table","Conditions"):String
Esta función recupera un valor alfanumerico indicando el nombre del campo, nombre de la tabla y algunos filtros
Dim UserName = K.LookUp("UserName", "Users", "UserID=1")
LookUpValue("Field","Table","Conditions"):Double
Esta función recupera un valor de tipo double indicando el nombre del campo númerico, nombre de la tabla y algunos filtros
Dim Rating = K.LookUpValue("Rating", "Users", "UserID=1")
Métodos
- Dispose()
Se utiliza para limpiar la memoria los objetos internos usados por Konnector
K.Dispose()
- CloseConnection()
Se utiliza para forzar el cierre de la conección actual a la base de datos
K.CloseConnection()
- BeginTransaction()
Se utiliza indicar el comienzo de un bloque de acciones hacia la base de datos
K.BeginTransaction()
- CommitTransaction()
Se utiliza para registrar todas las operaciones en la base de datos
K.CommitTransaction()
- RollBackTransaction()
Se utiliza para dar marcha atrás a los cambios que se hayan realizado en la base de datos después de haber iniciado una transacción con BeginTransaction()
K.RollBackTransaction()
Descarga el proyecto de ejemplo
Para más información detallada.
KonnectorORM es útilizado como base principal para desarrollar SDK's que requieran una alta calidad en la información que se desea guardar en cualquier base de datos Access o SQL y con una sintaxis fácil de leer y recordar.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net47 is compatible. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
-
.NETFramework 4.7
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
With this version KonnectorORM is public