轮子来袭 vJine.Core Orm 之 01_快速体验
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_快速体验相关推荐
- 软件著作权 开源框架_开源软件分享-基于.net core 3.1的快速开发框架
曾几何时.NET们很羡慕JAVA的生态,java开源生态里面你用得着的几乎都有开源的实现.比如大数据.微服务.以及各种各样的快速开发框架,特别是spring boot出来以后,简化了SSM那套繁琐的配 ...
- .Net Core 3.0 IdentityServer4 快速入门02
.Net Core 3.0 IdentityServer4 快速入门 -- resource owner password credentials(密码模式) 一.前言 OAuth2.0默认有四种授权 ...
- Jest 学习01 - Jest 介绍、快速体验、vscode 智能提示、配置、监视模式、Babel 配置
起步 测试到底测什么 提到测试的时候,即使是最简单的一个代码块可能都让初学者不知所措.最常问的问题的是"我怎么知道要测试什么?".如果你正在写一个 Web 应用,那么依次测试每个页 ...
- 【rnnoise快速体验】rnnoise从编译到训练
运行环境为Ubuntu18.04 C部分 下载源码 从github上下载源码,目前只有master分支,就拿master分支下来. 准备编译环境 干净的linux环境可能会没有安装gcc等编译工具 所 ...
- 基于android os 5.1,Android 5.1.1版氢OS快速体验
本文约5304字,需9分钟阅读(全文浏览) [更新2015.07.15]作为一加氢OS的内测成员,小编在今天收到了氢OS最新的测试包.然而这个测试包有些不一样,它不再是基于Android 5.0.2系 ...
- go test 如何输出到控制台_GO笔记之GO命令快速体验
上篇文章利用go run和go build命令分析介绍了GO的编译执行流程.GO提供给我们的命令当然远不止这两个.本文将在所能及的范围内,尽量地介绍GO提供的所有命令,从而实现对它们有个整体的认识. ...
- 【华为云技术分享】使用CloudIDE快速体验基于华为云ModelArts SDK的AI开发
华为云ModelArts一站式AI开发与管理平台,能够支撑开发者从数据到AI应用的全流程开发过程,包含数据处理.算法开发.模型训练.模型管理.部署等,支持图像分类.图像检测.视频分析.语音识别.产品推 ...
- uniapp开发:uniapp快速体验vue3.2之setup语法糖,怎么使用怎么爽
目录 概要 拉开序幕的setup语法糖 生命周期钩子 ref函数与reactive函数对比 computed计算属性 监视(watch.watchEffect) 组件注册 组件传值 provide/i ...
- Android 集成 Agora SDK 快速体验 RTC 版多人视频聊天|掘金技术征文
RTC (Real-Time Communication) 作为实时通讯领域的"新贵",在互动直播.远程控制.多人视频会议.屏幕共享等领域广受好评,如果你还不了解 RTC ,Tak ...
最新文章
- springcloud feign 服务调用其他服务_springCloud微服务项目 构建公共的feign调用
- 千万不要相信程序员在加班时间写的代码!
- c代码中 执行sh文件 带参数_创建含有$1参数的Bash脚本以及运行脚本的三种方法...
- linux查看ibmmq进程,ibm-mq – 如何检查IBM MQ for Linux中是否存在队列名称?
- 怎么把word转换pdf,pdf转换word ,pdf转换成高清图片
- 什么是通用字符名称?_通用名称
- 前端学习(2966):登录页面的制作
- Redis进阶实践之一VMWare Pro虚拟机安装和Linux系统的安装
- Ta还没有分享呢,过段时间再来看看吧~ 解决办法
- 【医疗影像处理】使用前景像素的均值和方差(mean,std)对图像进行归一化(背景像素为0)【numpy-code】
- 《大象UML》看书笔记2:
- 甲骨文超 IBM 成全球第二大软件公司
- Qt QMenu圆角阴影超详细 干净圆角 屏蔽原生阴影 绘制阴影
- 最新狼人杀休闲游戏微信小程序模板源码分享
- 【C 语言】文件操作 ( ftell 函数 | 使用 ftell 函数获取当前指针位置 | 通过 ftell 计算文件大小 )
- 周董演唱会为什么总是抢不到票?教你用Python做一个自动抢票脚本
- Footprint:Polkadot创立至今,生态如何?
- Excel 数字转化成以文本形式存储的数字
- 苏州优步高级车资费标准和奖励政策
- moveit和gazebo的联合抓取仿真
热门文章
- PHP类参数_100 个最常用的 PHP 函数
- ad中那个快捷键是重复上一部_Excel中的F4快捷键用的好,告别加班没烦恼!
- centos下打包electron_从零搭建Electron应用 的一系列简单的 Demo
- uniapp 开发h5 优化加载速度
- java 基本数据类型 容器_Java 基本数据类型
- MVVM 自动生成编号
- Jdk8之Lambda表达式
- php前台提交后台刷新,用js post数据后到后台,处理后如何实现前台页面刷新?...
- winxp一键锁定计算机,WinXP下锁定计算机的3种方法
- mysql workbench 数据备份_如何使用MySQL Workbench进行MySQL数据库备份?