DataVeryLite入门教程(一) 配置篇
DataVeryLite 是基于.net 4.0的数据库持久化ORM框架.
1.连接字符串配置
a,App.config/Web.config配置方式
<add name="myConnetion" connectionString="Data Source=host;Initial Catalog=db;Integrated Security=True" providerName="sqlserver"/>
需要说明的是 name connectionString和providerName三个属性缺一不可
| DataBase | Connection String sample | providerName |
|---|---|---|
| Sqlite | Data Source=path;Version=3; | sqlite |
| Access | Provider=Microsoft.Jet.OLEDB.4.0;Data Source=path | access |
| MySql | server = host; user id = name; password = pwd; database = db; | mysql |
| PostgreSql | Server= host;User Id=name;Password=pwd;Database=db; | postgresql |
| SqlServer | Data Source=host;Initial Catalog=db;Integrated Security=True | sqlserver |
| Db2 | Database=db;User ID=name;Server=host;password=pwd | db2 |
| Oracle | Data Source=XE;User Id=name;Password=pwd; | oracle |
public class MyConnectionStringProvider : ConnectionStringSettingsProvider
{
public override List<ConnectionStringSettings> ToConnectionString()
{
var sqlServverConnStr = new ConnectionStringSettings
{
Name = "sqlserver1",
ConnectionString = "Data Source=host;Initial Catalog=db;Integrated Security=True",
ProviderName = "sqlserver"
};
var mysqlConnStr = new ConnectionStringSettings
{
Name = "mysql1",
ConnectionString = "server = host; user id = name; password = pwd; database = db;",
ProviderName = "sqlserver"
};
return new List<ConnectionStringSettings>() { sqlServverConnStr,mysqlConnStr };
}
}
2,数据库映射
[DataBase(Key = "sqlserver1")]
public class Dandelion : DataVeryLite.Core.EntityPool
{ }
DataBaseAttribute中的Key属性对应的连接字符串配置中的key值,这样Dandelion会自动加载数据库上下文信息。
[Table(Name = "Person" , EntityPool = typeof(Dandelion))]
public partial 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; }
}
TableAttribute中的Name为表的名字。可以不设置,这时Person的类名就对应表的名字,如果我们需要类名和表名不一致,这时可以设置Name。
Configure.SetKey = (sender) => "sqlserver1";
或
Configure.SetKey = (sender) =>
{
if (sender is Dandelion)
{
return "sqlserver1";
}
else
{
return "mysql1";
}
};
项目地址 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);
}
}
DataVeryLite入门教程(一) 配置篇的更多相关文章
- DataVeryLite入门教程(二) Entity篇
DataVeryLite 是基于.net 4.0的数据库持久化ORM框架. 目前支持的数据库有Sqlserver,Mysql,Oracle,Db2,PostgreSql,Sqlite和Access. ...
- Systemd 入门教程:实战篇
Systemd 入门教程:实战篇 上一篇文章,介绍了 Systemd 的主要命令,这篇文章主要介绍如何使用 Systemd 来管理我们的服务,以及各项的含义: 一.开机启动 对于那些支持 System ...
- Spring Cloud 入门教程 - 搭建配置中心服务
简介 Spring Cloud 提供了一个部署微服务的平台,包括了微服务中常见的组件:配置中心服务, API网关,断路器,服务注册与发现,分布式追溯,OAuth2,消费者驱动合约等.我们不必先知道每个 ...
- 【转帖】Systemd 入门教程:命令篇
Systemd 入门教程:命令篇 Copy From http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html 感觉 ...
- Linux Capabilities 入门教程:概念篇
原文链接:Linux Capabilities 入门教程:概念篇 Linux 是一种安全的操作系统,它把所有的系统权限都赋予了一个单一的 root 用户,只给普通用户保留有限的权限.root 用户拥有 ...
- Linux 命令详解(八)Systemd 入门教程:实战篇
Systemd 入门教程:实战篇 http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-part-two.html
- Linux 命令详解(七)Systemd 入门教程:命令篇
Systemd 入门教程:命令篇http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html
- (转)Systemd 入门教程:命令篇
Systemd 入门教程:命令篇 原文:http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html Systemd 入门 ...
- SSH(Struts2+Spring4+Hibernate4)框架教程之配置篇
SSH(Struts2+Spring4+Hibernate4)框架教程之配置篇 - 若明天不见 - 博客频道 - CSDN.NEThttp://blog.csdn.net/why_still_conf ...
随机推荐
- CentOS 6.5开放80端口方法
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT 写入修改 /etc/init.d/iptables save 保存修改 service ipta ...
- Windows下快速搭建安卓开发环境android-studio
Windows下快速搭建安卓开发环境android-studio 发布时间:2018-01-18 来源:网络 上传者:用户 关键字: 安卓 搭建 Android Windows 快速 环境 Studi ...
- [Android]TextView点击获取部分内容
TextView控件本身有很多属性可以进行控制,如果要获取内容只需要getText()方法就可以实现,同时也可以为TextView设置各种监听器.但是,如果想要实现点击获取TextView内部的部分内 ...
- 前端构建工具里babel-polyfill的使用问题
看了很多react工程的package.json文件,里面都没有使用babel-polyfill,那对ES6的新API是如何做到被IE9这样的浏览器识别的呢,难道在webpack打包的时候通过别的方式 ...
- pushbutton成为可点击的图标(实现全透明,不论点击与否都只显示Icon)(也就是一个万能控件)
需求 需要2个按钮,一个是音乐开关,一个是关闭窗口,此文章关闭pushButton的透明问题(hovered+pressed都不会有背景色和边框的变化) 原理 使窗口完全透明 代码 _pPushBut ...
- ASP.NET中进度条的简单应用
<html xmlns="http://www.w3.org/1999/xhtml" id="mainWindow"> <head> & ...
- JScript运行批处理命令的做法
作者:朱金灿 来源:http://blog.csdn.net/clever101 有时需要在JScript调用批处理命令,因为这样可以将二者的优势结合起来.今天发现调用WScript.Shell对象的 ...
- springboot 上传图片
1. 创建多层目录 创建多层目录要使用File的mkdirs()方法,其他可以使用mkdir()方法. 2. 文件大小限制 配置文件中,在spring1.4以后要使用 ` spring.http.mu ...
- C#中将字符串转换成Md5值的方法
原文:C#中将字符串转换成Md5值的方法 版权声明:有问题可联系博主QQ:15577969,大家一起相互交流和学习. https://blog.csdn.net/qq15577969/article/ ...
- hibernate关于一对一注解配置
注解(Annotation),也叫元数据.一种代码级别的说明.它是JDK1.5及以后版本引入的一个特性,与类.接口.枚举是在同一个层次.它可以声明在包.类.字段.方法.局部变量.方法参数等的前面,用来 ...