DataVeryLite入门教程(二) Entity篇

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 = 1, Name = "海阔天空"}.Update();

执行结果如下:

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

结果如下:

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

结果如下:

 
10,Person.Del()方法
代码如下:
new Person(){Id = 1}.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);
   }
}

 

posted @ 2014-05-01 11:57  怡盛  阅读(893)  评论(9编辑  收藏  举报