zoukankan      html  css  js  c++  java
  • 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);
       }
    }
  • 相关阅读:
    Codeforces 451A Game With Sticks
    POJ 3624 Charm Bracelet
    POJ 2127 Greatest Common Increasing Subsequence
    POJ 1458 Common Subsequence
    HDU 1087 Super Jumping! Jumping! Jumping!
    HDU 1698
    HDU 1754
    POJ 1724
    POJ 1201
    CSUOJ 1256
  • 原文地址:https://www.cnblogs.com/shuqizhao/p/3702673.html
Copyright © 2011-2022 走看看