码迷,mamicode.com
首页 > 其他好文 > 详细

DataVeryLite入门教程(二) Entity篇

时间:2014-05-01 20:55:05      阅读:456      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   java   tar   javascript   width   color   get   int   

DataVeryLite 是基于.net 4.0的数据库持久化ORM框架.
目前支持的数据库有Sqlserver,Mysql,Oracle,Db2,PostgreSql,Sqlite和Access.
 
最好先阅读DataVeryLite入门教程(一) 配置篇,然后再阅读本篇。如果你觉得麻烦也可以跳过。
Entity是ORM中的核心对象之一,一个继承Entity的对象对应于数据库中的一个表。
Entity提供丰富的API对表中的单条数据进行操作。
比如根据id或其他条件,加载,删除,插入,更新和部分字段更新等API。
 
 
1,为数据库建一张表(本系列如无特殊说明都采用sqlserver数据库,你可以根据自己的需要改成其他库,相信不难办到)
mamicode.com,码迷
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
)
mamicode.com,码迷

 

2,创建一个c#控制台项目
 
mamicode.com,码迷
 
3,添加App.config配置文件,并添加配置
 
mamicode.com,码迷
<?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>
mamicode.com,码迷

 

4,通过nuget添加DataVeryLite.dll到项目
mamicode.com,码迷
 
 
5,建立Person类,并加上属性配置
mamicode.com,码迷
   [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; }
    }
mamicode.com,码迷

 

6,Person.Save()方法
代码如下:
mamicode.com,码迷
private static void Main(string[] args)
{
       var person = new Person();
       person.Name = "天大地大";
       person.Email = "gg@qq.com";
       person.Save();
}
mamicode.com,码迷

 

执行结果:
mamicode.com,码迷
 
 
7,Person.Update(),重点推荐部分字段更新
代码如下:
  new Person {Id = 1, Name = "海阔天空"}.Update();

执行结果如下:

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

结果如下:

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

结果如下:

mamicode.com,码迷
 
10,Person.Del()方法
代码如下:
new Person(){Id = 1}.Del();

 

结果如下:
mamicode.com,码迷
 
 

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

NuGet

1
PM> Install-Package DataVeryLite

  

Example lite

mamicode.com,码迷
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);
   }
}
mamicode.com,码迷

 

DataVeryLite入门教程(二) Entity篇,码迷,mamicode.com

DataVeryLite入门教程(二) Entity篇

标签:style   blog   class   code   java   tar   javascript   width   color   get   int   

原文地址:http://www.cnblogs.com/shuqizhao/p/3702673.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!