vJine.Core 是.Net环境下C#类库,在其包含的众多功能中ORM功能尤为突出,现简介如下。

一、支持的数据库:

  SQLite, MySQL, MS SQL, Oracle。

二、使用方法:

  0.添加引用:

    库文件vJine.Core.dll,

    

using vJine.Core;
using vJine.Core.ORM;

  1.定义类:

using System;
using System.Collections.Generic;
using System.Text;
using vJine.Core.Base;
using vJine.Core.IO;
using vJine.Core.ORM;namespace vJineCore_QuickStart.BML {public class My_Model : ItemBase /*不是必须继承*/ {public My_Model() {this.ID = Guid.NewGuid().ToString("N");}public partial class _ {public static readonly Property<My_Model, string> ID = new Property<My_Model, string>("ID");}string _ID;[Key(IsPrimary=true)] //指定主键public string ID {get {return this._ID;}set {if (value != this._ID) {this._ID = value;this.NotifyPropertyChanged("ID");}}}bool _IsActive;public bool IsActive {get {return this._IsActive;}set {if (value != this._IsActive) {this._IsActive = value;this.NotifyPropertyChanged("IsActive");}}}public enum Status:byte {Unknown = 0,Ready = 1,Running = 2,Done = 4}Status _MyStatus;public partial class _ {public static readonly Property<My_Model, Status> MyStatus = new Property<My_Model, Status>("MyStatus");}public Status MyStatus { //支持枚举类型get {return this._MyStatus;}set {if (value != this._MyStatus) {this._MyStatus = value;this.NotifyPropertyChanged("MyStatus");}}}public partial class _ {public static readonly Property<My_Model, int> Qty = new Property<My_Model, int>("Qty");}int _Qty;public int Qty {get {return this._Qty;}set {if (value != this._Qty) {this._Qty = value;this.NotifyPropertyChanged("Qty");}}}DateTime _Stamp;public DateTime Stamp {get {return this._Stamp;}set {if (value != this._Stamp) {this._Stamp = value;this.NotifyPropertyChanged("Stamp");}}}}
}

  2.配置连接:

    

<connectionStrings><add name="Default" providerName="System.Data.SqlClient" connectionString="Data Source=.;Initial Catalog=【数据库名称】;Integrated Security=True"/></connectionStrings>

注:请将【数据库名称】改为你本地对应的数据库名。

  3.新建实例:

    

DataManager dm = new DataManager(); //引用Default配置
DataManager dm = new DataManager("specific_name"); //引用指定配置

  4.创建数据表:

    

//Create Table
dm.Create<My_Model>();

  5.增删改查:

My_Model new_data = new My_Model() {Qty = 0, IsActive = false, MyStatus = My_Model.Status.Ready};new_data.Stamp = dm.Now;dm.I<My_Model>(new_data);

dm.D<BML.My_Model>(BML.My_Model._.ID == "xxx");

dm.U<BML.My_Model>(My_Model._.Qty.EQ(My_Model._.Qty + 1) & My_Model._.MyStatus.EQ(My_Model.Status.Running), My_Model._.MyStatus == My_Model.Status.Ready);

List<My_Model> container = new List<My_Model>(); //先定义一个实现IList<>接口的对象容器,查询结果将累加填充dm.Q<My_Model>(container, My_Model._.ID.Like("ABC%") & My_Model._.Qty > 0);

三、附件:

  1、vJine.Core

四、附注:

  1、默认连接配置为 MS SQL Server,未保证测试顺利进行,请优先使用MS SQL Server, connectionString请依据您服务器的实际情况更改。

  2、本篇仅作为功能体验的引导文章,后续将陆续推出使用细则、架构设计等相关内容。

  3、vJine.Core将已开源模式提供,可用免费于私人和商业用途,但作者本人不反使用者通过以下方式给以赞同(顶贴、点赞、推荐)。

  4、关于性能:性能方面个人暂无比较,如有热衷于这方面的朋友帮忙做个测试,将不胜感激。

  5、vJine.Core的目标是:简洁、高效、轻量级、非侵入。

转载于:https://www.cnblogs.com/vjine/p/vJine_Core_Orm_01.html

轮子来袭 vJine.Core Orm 之 01_快速体验相关推荐

  1. 软件著作权 开源框架_开源软件分享-基于.net core 3.1的快速开发框架

    曾几何时.NET们很羡慕JAVA的生态,java开源生态里面你用得着的几乎都有开源的实现.比如大数据.微服务.以及各种各样的快速开发框架,特别是spring boot出来以后,简化了SSM那套繁琐的配 ...

  2. .Net Core 3.0 IdentityServer4 快速入门02

    .Net Core 3.0 IdentityServer4 快速入门 -- resource owner password credentials(密码模式) 一.前言 OAuth2.0默认有四种授权 ...

  3. Jest 学习01 - Jest 介绍、快速体验、vscode 智能提示、配置、监视模式、Babel 配置

    起步 测试到底测什么 提到测试的时候,即使是最简单的一个代码块可能都让初学者不知所措.最常问的问题的是"我怎么知道要测试什么?".如果你正在写一个 Web 应用,那么依次测试每个页 ...

  4. 【rnnoise快速体验】rnnoise从编译到训练

    运行环境为Ubuntu18.04 C部分 下载源码 从github上下载源码,目前只有master分支,就拿master分支下来. 准备编译环境 干净的linux环境可能会没有安装gcc等编译工具 所 ...

  5. 基于android os 5.1,Android 5.1.1版氢OS快速体验

    本文约5304字,需9分钟阅读(全文浏览) [更新2015.07.15]作为一加氢OS的内测成员,小编在今天收到了氢OS最新的测试包.然而这个测试包有些不一样,它不再是基于Android 5.0.2系 ...

  6. go test 如何输出到控制台_GO笔记之GO命令快速体验

    上篇文章利用go run和go build命令分析介绍了GO的编译执行流程.GO提供给我们的命令当然远不止这两个.本文将在所能及的范围内,尽量地介绍GO提供的所有命令,从而实现对它们有个整体的认识. ...

  7. 【华为云技术分享】使用CloudIDE快速体验基于华为云ModelArts SDK的AI开发

    华为云ModelArts一站式AI开发与管理平台,能够支撑开发者从数据到AI应用的全流程开发过程,包含数据处理.算法开发.模型训练.模型管理.部署等,支持图像分类.图像检测.视频分析.语音识别.产品推 ...

  8. uniapp开发:uniapp快速体验vue3.2之setup语法糖,怎么使用怎么爽

    目录 概要 拉开序幕的setup语法糖 生命周期钩子 ref函数与reactive函数对比 computed计算属性 监视(watch.watchEffect) 组件注册 组件传值 provide/i ...

  9. Android 集成 Agora SDK 快速体验 RTC 版多人视频聊天|掘金技术征文

    RTC (Real-Time Communication) 作为实时通讯领域的"新贵",在互动直播.远程控制.多人视频会议.屏幕共享等领域广受好评,如果你还不了解 RTC ,Tak ...

最新文章

  1. springcloud feign 服务调用其他服务_springCloud微服务项目 构建公共的feign调用
  2. 千万不要相信程序员在加班时间写的代码!
  3. c代码中 执行sh文件 带参数_创建含有$1参数的Bash脚本以及运行脚本的三种方法...
  4. linux查看ibmmq进程,ibm-mq – 如何检查IBM MQ for Linux中是否存在队列名称?
  5. 怎么把word转换pdf,pdf转换word ,pdf转换成高清图片
  6. 什么是通用字符名称?_通用名称
  7. 前端学习(2966):登录页面的制作
  8. Redis进阶实践之一VMWare Pro虚拟机安装和Linux系统的安装
  9. Ta还没有分享呢,过段时间再来看看吧~ 解决办法
  10. 【医疗影像处理】使用前景像素的均值和方差(mean,std)对图像进行归一化(背景像素为0)【numpy-code】
  11. 《大象UML》看书笔记2:
  12. 甲骨文超 IBM 成全球第二大软件公司
  13. Qt QMenu圆角阴影超详细 干净圆角 屏蔽原生阴影 绘制阴影
  14. 最新狼人杀休闲游戏微信小程序模板源码分享
  15. 【C 语言】文件操作 ( ftell 函数 | 使用 ftell 函数获取当前指针位置 | 通过 ftell 计算文件大小 )
  16. 周董演唱会为什么总是抢不到票?教你用Python做一个自动抢票脚本
  17. Footprint:Polkadot创立至今,生态如何?
  18. Excel 数字转化成以文本形式存储的数字
  19. 苏州优步高级车资费标准和奖励政策
  20. moveit和gazebo的联合抓取仿真

热门文章

  1. PHP类参数_100 个最常用的 PHP 函数
  2. ad中那个快捷键是重复上一部_Excel中的F4快捷键用的好,告别加班没烦恼!
  3. centos下打包electron_从零搭建Electron应用 的一系列简单的 Demo
  4. uniapp 开发h5 优化加载速度
  5. java 基本数据类型 容器_Java 基本数据类型
  6. MVVM 自动生成编号
  7. Jdk8之Lambda表达式
  8. php前台提交后台刷新,用js post数据后到后台,处理后如何实现前台页面刷新?...
  9. winxp一键锁定计算机,WinXP下锁定计算机的3种方法
  10. mysql workbench 数据备份_如何使用MySQL Workbench进行MySQL数据库备份?