DbEntry.Net(Lephone Framework) Access ORM:安装和简单使用
项目中用到Access数据库,之前用的普通Ado.Net 三层。遇到表字段叫多时,就比较费力。想要使用ORM,无奈EF不支持Access。虽然可以改写linq to sql为Linq to Access,多多少少会有些兼容性的问题。这有个demo:http://www.cnblogs.com/wangjikun3/archive/2009/06/20/1507175.html
这里推荐个ORM框架,DbEntry.Net.官网地址:http://dbentry.codeplex.com/
轻量级,高性能,免费开源。支持C#,Visual Basic,ASP.Net.也提供 DbEntryDataSource for ASP.NET 2.0和Rails风格 MVC框架和 简单的Ioc 框架.支持Access(03,07),SqlServer(2000,2005,2008),Excel,MySql,Sqlite,Oracle,Firebird,PostgreSQL.
官网文档:http://dbentry.codeplex.com/documentation
一.安装和简单使用
1.首先下载DbEntry.Net安装程序。官网下载:http://dbentry.codeplex.com/releases/view/79532 金山网盘:http://www.kuaipan.cn/file/id_226427209806521434.htm?source=1
安装之后,打开VS,工具→扩展管理器→已安装的扩展→模板,启用DbEntryClassLibrary.
如果不希望安装模板可以下载bin.zip。官网下载:http://dbentry.codeplex.com/releases/view/79532 金山网盘:http://www.kuaipan.cn/file/id_226427209806521433.htm?source=1
2.新建项目,点击Visual C#,选择DbEntryClassLibrary,输入项目名确定。会默认创建一个User类。删除我们创建个Student类。
未安装模板需要引用dll:Lephone.Core.dll Lephone.Data.dll Lephone.Extra.dll Lephone.Web.dll
public class Student : DbObjectModel<Student>
{
public string StuName { get; set; }
public int StuAge { get; set; }
}
3.新建Winform项目,添加对DbEntryClassLibrary项目引用。
添加app.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="Lephone.Settings"
type="Lephone.Core.Setting.NameValueSectionHandler, Lephone.Core" />
</configSections> <Lephone.Settings>
<add key="AutoCreateTable" value="true" />
<add key="DataBase" value="@Access : @C:\test.mdb" />
</Lephone.Settings>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>
XML Code
新建窗体。一个DataGridView,两个TextBox,两个Button。DataGridView新建三个Column。

窗体Load事件加载:
private void Form1_Load(object sender, EventArgs e)
{
RefreshData();
} /// <summary>
/// 刷新数据
/// </summary>
private void RefreshData()
{
dataGridView1.DataSource = Student.Find(Condition.Empty);
}
保存按钮:
/// <summary>
/// 保存事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnSave_Click(object sender, EventArgs e)
{
if (btnSave.Tag != null && btnSave.Tag.ToString() != String.Empty)
{
Student stu = Student.FindById(int.Parse(btnSave.Tag.ToString()));
int age = ; int.TryParse(txtStuAge.Text, out age);
stu.StuAge = age;
stu.StuName = txtStuName.Text;
DbEntry.Save(stu);
}
else
{
int age = ; int.TryParse(txtStuAge.Text, out age);
Student stu = new Student() { StuAge = age, StuName = txtStuName.Text };
DbEntry.Save(stu);
}
RefreshData();
}
选择行事件:
/// <summary>
/// 选择行事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex >= )
{
DataGridViewRow dr = this.dataGridView1.Rows[e.RowIndex];
btnSave.Tag = dr.Cells["ID"].Value;
txtStuName.Text = dr.Cells["Name"].Value.ToString();
txtStuAge.Text = dr.Cells["Age"].Value.ToString();
}
}
删除按钮事件:
/// <summary>
/// 删除代码
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnDelete_Click(object sender, EventArgs e)
{
if (btnSave.Tag != null && btnSave.Tag.ToString() != String.Empty)
{
Student.DeleteBy(t => t.Id == int.Parse(btnSave.Tag.ToString()));
}
RefreshData();
}
源代码下载:金山网盘:http://www.kuaipan.cn/file/id_226427209806521436.htm?source=1
DbEntry.Net(Lephone Framework) Access ORM:安装和简单使用的更多相关文章
- 安装.NET FRAMEWORK 4.5安装进度条回滚之后发生严重错误 代码0x80070643
安装.NET FRAMEWORK 4.5安装进度条回滚之后发生严重错误 代码0x80070643 注意: 回滚完成后,不要急着点击完成 查看日志:用IE浏览器打开,最后红色部分就是要查看的部分,本人 ...
- Entity Framework Power Tools安装和使用
Entity Framework Power Tools是一个由EntityFramework开发小组提供的工具,它可以从现有数据库生成Fluent款式的Code First代码. 大致来说,这个工具 ...
- .NET Framework 2.0安装问题
在.NET Framework 2.0安装的时候,如果提示 system.deployment.dll失败,另一个程序正在使用此文件,进程无法访问.这种情况下,我们可能的解决方案是: 关闭掉杀毒软件在 ...
- .net framework 3.5 安装报错 0x800F0954问题
windows Server 2019 .net framework 3.5 安装报错 0x800F0954问题 .net framework 3.5的安装教程:但是安装出现0x800F0954这个错 ...
- .NET Framework 3.5 安装
今天vCenter服务器悲剧了,只好火速重新部署新vCenter服务器... Windows server 2016 中,安装VCenter 5.5 提示 未安装 .NET Framework 3. ...
- Win10 .net framework 3.5 安装失败 0x80073712 [解决了]
Win10 .net framework 3.5 安装失败 0x80073712 用了各种办法,一直解决不了. 最后用了: 使用 https://www.microsoft.com/zh-cn/sof ...
- PHP ORM框架与简单代码实现(转)
对象关系映射(Object Relational Mapping,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据 ...
- nginx之旅:安装及简单部署
安装之前最好了解一下nginx,参考nginx百度百科吧,下面这一句话基本概括了nginx的基本功能 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 ...
- Linux下的GitHub安装与简单配置教程 ~ 转载
Linux下的GitHub安装与简单配置教程 1.GitHub简介 Git是一个分布式版本控制系统,与其相对的是CVS.SVN等集中式的版本控制系统. 2.Git的安装 1)安装Git a.查看与 ...
随机推荐
- js 自定义类
将近20年前,Javascript诞生的时候,只是一种简单的网页脚本语言.如果你忘了填写用户名,它就跳出一个警告. 如今,它变得几乎无所不能,从前端到后端,有着各种匪夷所思的用途.程序员用它完成越来越 ...
- DIV高度设置全屏
<div class="full"></div> .full{ height:100%; position:fixed; } 使用position的fixe ...
- 一个最简单的JStorm例子
最简单的JStorm例子分为以下几个步骤: 1.生成Topology Map conf = new HashMp(); //topology所有自定义的配置均放入这个Map TopologyBuild ...
- zoj3662(dp)
dp还是比较好想的,但是时间还是比较坑的. 要预处理还加些优化才行 . #include <stdio.h> #include <stdlib.h> #include < ...
- Selenium Firefox 官方Webdriver -- Geckodriver 下载地址
Selenium Firefox 官方Webdriver -- Geckodriver 下载地址 https://github.com/mozilla/geckodriver/releases
- zTree 树形控件 ajax动态加载数据
很久没搞过树形控件了 , 再次接触看官网文档有点没懂,于是在网上找了个代码copy上,但数据是写死的,就想这在用ajax异步取出数据替换,下面是js代码 <SCRIPT type="t ...
- 常用的mysql语句
为了方便学习mysql,把接触到的sql收集一下,忘记的时候可以查询一下. 连接mysql数据库: mysql -u 用户名 -p 输入密码. 创建数据库: create database 数据库名; ...
- 巨蟒python全栈开发-第24天 内置常用模块3
一. 1.re模块基础知识 2.python模块&re正则模块 3.实战:re模块&python(链家&电影天堂&豆瓣) 复习:上节课重点(1)sys.path 模块的 ...
- LCS/LIS/LCIS 模板总结
/************************* LCS/LIS/LCIs模板总结: *************************/ /*************************** ...
- Python2 显示 unicode
用户想要看的是 u'中文' 而不是 u'\u4e2d\u6587',但是在 Python2 中有时并不能实现. 转译 转义字符是这样一个字符,标志着在一个字符序列中出现在它之后的后续几个字符采取一种替 ...