首页 > 代码库 > DataVeryLite入门教程(二) Entity篇
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
?
1 | 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); } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。