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);
       }
    }
  • 相关阅读:
    HTML link标签media参数
    初始化一个本地GIT仓储
    总结一下js的原型和原型链
    根据用户注册信息推荐 代码部分
    冷启动问题概述
    概率图模型
    LFM 隐语义模型
    item Collaborative Filtering
    推荐系统评测
    user Collaborative Filtering
  • 原文地址:https://www.cnblogs.com/shuqizhao/p/3702673.html
Copyright © 2011-2022 走看看