KonnectorORM 4.0.5

dotnet add package KonnectorORM --version 4.0.5
NuGet\Install-Package KonnectorORM -Version 4.0.5
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="KonnectorORM" Version="4.0.5" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add KonnectorORM --version 4.0.5
#r "nuget: KonnectorORM, 4.0.5"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install KonnectorORM as a Cake Addin
#addin nuget:?package=KonnectorORM&version=4.0.5

// Install KonnectorORM as a Cake Tool
#tool nuget:?package=KonnectorORM&version=4.0.5

Konnector ORM

Konnector ORM es una API para base de datos, cuenta con funciones que te ayudarán 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 propiedad 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()'<--Actuliza en base de datos
User.Delete()'<--Borra de la base de datos		

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)(Filters):List(Of KonnectorCatalog)

Recupera los registros de un catálogo (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)(Filters):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)(SQLQuery):List(Of Type)

Este método 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 Compatible and additional computed target framework versions.
.NET Framework net45 is compatible.  net451 was computed.  net452 is compatible.  net46 was computed.  net461 is compatible.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 is compatible.  net48 is compatible.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETFramework 4.5

    • No dependencies.
  • .NETFramework 4.5.2

    • No dependencies.
  • .NETFramework 4.6.1

    • No dependencies.
  • .NETFramework 4.7.2

    • No dependencies.
  • .NETFramework 4.8

    • 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.

Version Downloads Last updated
4.0.5 529 8/21/2020
4.0.4 418 7/14/2020
4.0.3 395 6/29/2020
4.0.0.6 333 2/8/2021
4.0.0 443 6/18/2020

v4.0.0.5
*Se modifica la rutna ValidData para corregir la asignación de valores por default dentro del xml de validaciones.