DataVeryLite 是基于.net 4.0的数据库持久化ORM框架.

目前支持的数据库有Sqlserver,Mysql,Oracle,Db2,PostgreSql,Sqlite和Access.
 
最好先阅读DataVeryLite入门教程(一) 配置篇,然后再阅读本篇。如果你觉得麻烦也可以跳过。
Entity是ORM中的核心对象之一,一个继承Entity的对象对应于数据库中的一个表。
Entity提供丰富的API对表中的单条数据进行操作。
比如根据id或其他条件,加载,删除,插入,更新和部分字段更新等API。
 
 
1,为数据库建一张表(本系列如无特殊说明都采用sqlserver数据库,你可以根据自己的需要改成其他库,相信不难办到)
CREATE TABLE [dbo].[Person] (
[Id] int PRIMARY KEY IDENTITY(1,1) ,
[Name] varchar(20) NULL ,
[Sex] varchar(20) NULL ,
[Phone] varchar(20) NULL ,
[Email] varchar(20) NULL
)
2,创建一个c#控制台项目
 
 
3,添加App.config配置文件,并添加配置
 
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="mydb" connectionString="Data Source=.;Initial Catalog=mydb;Integrated Security=True" providerName="sqlserver"/>
</connectionStrings>
</configuration>
4,通过nuget添加DataVeryLite.dll到项目
 
 
5,建立Person类,并加上属性配置
   [Table(Key = "mydb")]
public class Person : DataVeryLite.Core.Entity
{
[Column(Name = "Id", IsPrimaryKey = true)]
public int Id { get; set; } [Column(Name = "Name")]
public string Name { get; set; } [Column(Name = "Sex")]
public string Sex { get; set; } [Column(Name = "Phone")]
public string Phone { get; set; } [Column(Name = "Email")]
public string Email { get; set; }
}
6,Person.Save()方法
代码如下:
private static void Main(string[] args)
{
var person = new Person();
person.Name = "天大地大";
person.Email = "gg@qq.com";
person.Save();
}
执行结果:
 
 
7,Person.Update(),重点推荐部分字段更新
代码如下:
  new Person {Id = , Name = "海阔天空"}.Update();

执行结果如下:

 
8,Person.Load()方法
代码如下:
 var personById = new Person();
personById.Load(By.Id());
Console.WriteLine(personById.Name + ":" + personById.Email);

结果如下:

 
 
9,Perons.Count属性
代码如下:
 Console.WriteLine("记录数:" + new Person().Count);

结果如下:

 
10,Person.Del()方法
代码如下:
new Person(){Id = }.Del();
结果如下:
 
 

项目地址 http://dataverylite.codeplex.com/

NuGet

PM> Install-Package DataVeryLite

  

Example lite

using System;
public class HelloWorld
{
public static void Main(params string[] args)
{
var p=Models.Xe.Person();
p.Load(By.Id(1));
p.Del();
Console.WriteLine(p.Name+","+p.Age);
}
}

DataVeryLite入门教程(二) Entity篇的更多相关文章

  1. DataVeryLite入门教程(一) 配置篇

    DataVeryLite 是基于.net 4.0的数据库持久化ORM框架. 目前支持的数据库有Sqlserver,Mysql,Oracle,Db2,PostgreSql,Sqlite和Access. ...

  2. Systemd 入门教程:实战篇

    Systemd 入门教程:实战篇 上一篇文章,介绍了 Systemd 的主要命令,这篇文章主要介绍如何使用 Systemd 来管理我们的服务,以及各项的含义: 一.开机启动 对于那些支持 System ...

  3. SpringBoot入门教程(二)CentOS部署SpringBoot项目从0到1

    在之前的博文<详解intellij idea搭建SpringBoot>介绍了idea搭建SpringBoot的详细过程, 并在<CentOS安装Tomcat>中介绍了Tomca ...

  4. 【转帖】Systemd 入门教程:命令篇

    Systemd 入门教程:命令篇  Copy From http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html 感觉 ...

  5. Linux Capabilities 入门教程:概念篇

    原文链接:Linux Capabilities 入门教程:概念篇 Linux 是一种安全的操作系统,它把所有的系统权限都赋予了一个单一的 root 用户,只给普通用户保留有限的权限.root 用户拥有 ...

  6. JasperReports入门教程(二):中文打印

    JasperReports入门教程(二):中文打印 背景 在上一篇中我们介绍了JasperReport的基本入门,也展示了一个报表.但是我们的示例都是使用的英文,如果我们把需要打印的数据改为中文会怎么 ...

  7. 无废话ExtJs 入门教程二十一[继承:Extend]

    无废话ExtJs 入门教程二十一[继承:Extend] extjs技术交流,欢迎加群(201926085) 在开发中,我们在使用视图组件时,经常要设置宽度,高度,标题等属性.而这些属性可以通过“继承” ...

  8. 无废话ExtJs 入门教程二十[数据交互:AJAX]

    无废话ExtJs 入门教程二十[数据交互:AJAX] extjs技术交流,欢迎加群(521711109) 1.代码如下: 1 <!DOCTYPE html PUBLIC "-//W3C ...

  9. 无废话ExtJs 入门教程二[Hello World]

    无废话ExtJs 入门教程二[Hello World] extjs技术交流,欢迎加群(201926085) 我们在学校里学习任何一门语言都是从"Hello World"开始,这里我 ...

随机推荐

  1. WM_NOTIFY消息流程实例分析

    我们以CListCtrl控件为例来分析WM_NOTIFY消息. CListCtrl控件在Report样式下会包含CHeaderCtrl标头控件,即CHeaderCtrl标头控件为CListCtrl控件 ...

  2. Method for performing cache coherency in a computer system

    In a computing system, cache coherency is performed by selecting one of a plurality of coherency pro ...

  3. Android Studio:Grade 全局参数定义

    Grade 全局参数定义 实际开发中设置公共的编译依赖参数等. 方法一: 在项目外层的build.gradle文件中定义,格式如下: 文件名:build.gradle ext { sourceComp ...

  4. numpy 维度与轴的问题

    0. 多维数组的显示问题 >> X = np.reshape(np.arange(24), (2, 3, 4)) # 也即 2 行 3 列的 4 个平面(plane) >> X ...

  5. 创建asp.net core 的静态网站

    这个名字听起来很怪 既然是静态网站 为什么要是asp.net core的呢? 1.在vs上面好像不能创建纯静态的网站,所以我们就想创建一个asp.net core的空网站 然后在里面使用静态的html ...

  6. js小贴士

    1.在js中 定义方法 方法名第一个字母小写.如果是定义类 则第一个字母大学 2.如果想在a标签中点击 触发js方法 而不跳转页面 可以使用类似   <a href="javascri ...

  7. SqlBulkCopy快速插入datatable到数据库中参考代码,以及要注意的问题

    参考代码如下: public class Examination { #region 批量插入一个sheet的专业对应的学科 /// <summary> /// 批量插入一个sheet的专 ...

  8. Python类型和对象

    关键字:Python 类型 对象原文:http://wiki.woodpecker.org.cn/moin/PyTypesAndObjects 关于本书 解释新式的Python对象(new-style ...

  9. IME输入法编程心得

    原文:IME输入法编程心得 posted @ 2012-11-30 00:42 from [FreedomShe] 自然语言处理的输入法作业成品没有做出来,但不想再在蛋疼的Win32上面耗费时间了,整 ...

  10. PD生成兼容Oracle、Mysql脚本

    mysql date  改为  datetime ->运行sql脚本 Oracle " clustered " 替换为空,即key(XX) ->运行sql脚本