项目中用到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:安装和简单使用的更多相关文章

  1. 安装.NET FRAMEWORK 4.5安装进度条回滚之后发生严重错误 代码0x80070643

    安装.NET FRAMEWORK 4.5安装进度条回滚之后发生严重错误  代码0x80070643 注意: 回滚完成后,不要急着点击完成 查看日志:用IE浏览器打开,最后红色部分就是要查看的部分,本人 ...

  2. Entity Framework Power Tools安装和使用

    Entity Framework Power Tools是一个由EntityFramework开发小组提供的工具,它可以从现有数据库生成Fluent款式的Code First代码. 大致来说,这个工具 ...

  3. .NET Framework 2.0安装问题

    在.NET Framework 2.0安装的时候,如果提示 system.deployment.dll失败,另一个程序正在使用此文件,进程无法访问.这种情况下,我们可能的解决方案是: 关闭掉杀毒软件在 ...

  4. .net framework 3.5 安装报错 0x800F0954问题

    windows Server 2019 .net framework 3.5 安装报错 0x800F0954问题 .net framework 3.5的安装教程:但是安装出现0x800F0954这个错 ...

  5. .NET Framework 3.5 安装

    今天vCenter服务器悲剧了,只好火速重新部署新vCenter服务器... Windows server 2016 中,安装VCenter 5.5 提示  未安装 .NET Framework 3. ...

  6. Win10 .net framework 3.5 安装失败 0x80073712 [解决了]

    Win10 .net framework 3.5 安装失败 0x80073712 用了各种办法,一直解决不了. 最后用了: 使用 https://www.microsoft.com/zh-cn/sof ...

  7. PHP ORM框架与简单代码实现(转)

    对象关系映射(Object Relational Mapping,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据 ...

  8. nginx之旅:安装及简单部署

    安装之前最好了解一下nginx,参考nginx百度百科吧,下面这一句话基本概括了nginx的基本功能 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理  ...

  9. Linux下的GitHub安装与简单配置教程 ~ 转载

    Linux下的GitHub安装与简单配置教程   1.GitHub简介 Git是一个分布式版本控制系统,与其相对的是CVS.SVN等集中式的版本控制系统. 2.Git的安装 1)安装Git a.查看与 ...

随机推荐

  1. 类加载器(ClassLoader)

    静态库.动态连接库 程序编制一般需经编辑.编译.连接.加载和运行几个步骤.在我们的应用中,有一些公共代码是需要反复使用,就把这些代码编译为“库”文件:在连接步骤中,连接器将从库文件取得所需的代码,复制 ...

  2. Java 还是 C++?

    Java 特别象 C++:由此很自然地会得出一个结论:C++似乎会被Java 取代.但我对这个逻辑存有一些疑问. 无论如何,C++仍有一些特性是Java 没有的.而且尽管已有大量保证,声称Java有一 ...

  3. 从头认识java-17.4 具体解释同步(2)-具体解释竞争条件

    这一章节我们来具体讨论一下竞争条件. 1.为什么会引起竞争条件? 因为操作缺失原子性. 2.什么是原子性? 所谓原子操作是指不会被线程调度机制打断的操作:这样的操作一旦開始,就一直运行到结束.中间不会 ...

  4. wireshark in text mode: tshark

    tshark -i <interface> -w "output.data" 抓到的数据可用wireshark打开查看.

  5. 图像增强:直方图均衡和小波变换【matlab】

    直方图均衡:统计图像像素灰度的直方图分布.对其进行重新分配以使图像的直方图分布更加均衡. 小波变换:图像轮廓主要体现在低频部分,可以通过对低频分解系数进行增强处理,对高频分解系数进行衰减处理,达到图像 ...

  6. linux 安装php 然后跟nginx整合

    php-fpm安装配置 nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端. nginx一般是把请求发fastcgi管理 ...

  7. .Net Core 知识了解:一跨平台的奥秘

    学习一下.Net Core 查看了技术大拿的文章 .NET Core跨平台的奥秘[上篇]:历史的枷锁 一下是学习资料 对于计算机从业人员来说,“平台(Platform)”是一个我们司空见惯的词语,在不 ...

  8. mac下面安装多个JDK

    JDK8 GA之后,小伙伴们喜大普奔,纷纷跃跃欲试,想体验一下Java8的Lambda等新特性,可是目前Java企业级应用的主打版本还是JDK6, JDK7.因此,我需要在我的电脑上同时有JDK8,J ...

  9. iis express worker process已停止工作

    以管理员方式运行命令提示符工具,然后执行以下语句 netsh winsock reset 重启电脑

  10. Howto: Performance Benchmarks a Webserver

    Howto: Performance Benchmarks a Webserver last updated June 9, 2006 in CategoriesApache, FreeBSD, Ho ...