- 17
- 0
- 约1.43万字
- 约 29页
- 2016-12-02 发布于天津
- 举报
buffalo项目
Buffalo项目
帮助文档编写中...
本文介绍了Buffalo的使用方法,及一些常见的问题及处理方法FAQ。FAQ放在文章后面。
简介
Buffalo项目是什么?
一个C#编写的轻量高效的ORM数据库操作组件。
配置方便 (配置工具完美结合Visual Studio)
操作简单,快速上手 (几步操作即可)
支持多数据库 (MySQL,DB2,PostgreSQL,SQLite,Oracle9,MS SQL)
其目的是为了提高工作效率,避免重复地编写似曾相识的代码。屏蔽底层不同数据库的SQL语句及语法差异,一切面向对象。
它支持以下两种最常见也是最流行的使用方式:
使用Buffalo从现有数据库快速地生成相关代码,并完成纯粹的面向对象的数据库操作类;
或者,从现有的已经设计好的类(实体类Class.cs),配置生成数据库库表。
这货跟代码生成工具有什么区别?
呃嗯~~~~~~这个~这货本身也通过数据库表或实体类这些基础信息,来生成完整的相关的代码,所以也是个代码生成工具。 但是 ,它跟你“印象中”的 SQLHelper 和 DataAccess.dll不一样 :
首先,这货的配置工具完结集成到Visual Studio里成为VS的一部分。从“野工具”回到宇宙中最强大的IDE中。
其次,这货完全面向对象,使用者可以根据业务逻辑先完成相关实体类的设计,即可直接配置生成对应的数据库表,省时省力。让你有种“一刀在手,天下我有”的错觉。
这货的核心是,通过IL级别的快速反射和映射关系,来生成最终的SQL语句;来给实体对象赋值的。简单,粗暴,有效。
Buffalo基本结构
项目分为三层,如下图示:
项目中的Business为业务层,DataAccess为数据层,CsqlEntity为查询辅助类,Entity为实体类,跟表一一对应。
它是如何应对不同数据库?
其数据层使用工厂模式加反射,通过去实现各个数据库的接口,来实现操作不同的数据库。
使用
当然了,请先下载Buffalo项目。
使用SVN检出/svn/trunk/
(安装)添加工具到Visual Studio
Buffalo的配置工具,是一个VS插件,所以它可以完美地融合到VS里,成为VS的一部分,扩展VS的功能。插件的安装过程非常的简单。
执行目录文件里的安装小工具 \Tools\AddInSetup\AddInSetup.exe,如下图
选择对应的您本机上已经安装的VS版本,点击安装,即可完成安装。
说明:
其实这个“安装插件”的操作,所做的事情是,在 %HomePath%\Documents(xp:Documents and Settings)\Visual Studio {2012}\AddIns 下添加一个名为Buffalo.DBTools.AddIn的文件,该文件描述了插件的信息及存放位置等信息。
(卸载)移除插件
如果需要卸载插件,请再次运行 \Tools\AddInSetup\AddInSetup.exe ,卸载即可。
即删除 %HomePath%\Documents(xp:Documents and Settings)\Visual Studio {2012}\AddIns 下的文件 Buffalo.DBTools.AddIn
快速使用
在Visual Studio 中新建一个类库项目,此类库将作为数据库操作组件(即分层结构里的数据库访问层)。
下面的例子CashManager项目,演示了从现有数据库,通过配置工具如何创建基于Buffalo框架的数据库操作类
创建一个新类库项目
给解决方案创建一个新类库项目 CashManager.DB ,并在 CashManager.DB 下添加新项,一个类图,起名为 CMDB.cd,如下图
设置数据库连接参数。
打开新建的类图 CMDB.cd,在类图的任意一个空白 右击,在右键菜单里选择
Buffalo助手 - 设置参数,如下图
在弹出的对话框里,设置数据库连接信息,如下图示,这里的演示例子里我们使用了 SQLite 数据( 其他数据库类型的操作雷同 ),设置连接字符串后,点击 测试 连接, 并确保数据库连接成功,能正常访问。
生成数据库表结构的ORM内容
在类图CMDB.cd的任意一个空白 右击,在右键菜单里选择
Buffalo助手 - 表到实体,如下图
Buffalo助手会把指定的数据库里的库表及视图都读取出来,并显示对应的状态。选择表,并 确定 生成。
此操作结束后,VS需要重新加载类图,如下图示,点击 是 重新加载。
最终结果如下图
添加Buffalo DLL引用
在 \Tools\AddInSetup\AddIns 目录下,有.NET各个版本的DLL
您可能关注的文档
最近下载
- 反应机理(研)-高等无机化学.ppt VIP
- 218SS-PKE 摩托车操作说明书.pdf
- 2025年高考甘肃卷物理真题.docx VIP
- 凯恩帝K1TBIII-A-As数控系统用户手册.pdf
- 杭州电子科技大学信息工程学院2025-2026学年《概率论与数理统计2》第一学期期末试题(B).docx VIP
- 第2章 有理数的运算(单元测试·培优卷)含答案-2024人教版七年级数学上册.pdf VIP
- 中考1600词汇对照表(英译汉).doc VIP
- 杭州电子科技大学2025-2026学年《概率论与数理统计2》第一学期期末试题(B).docx VIP
- 香农三大定理详解.ppt VIP
- 【初中物理】专项练习:物体的密度及其测定40题(附答案).pdf VIP
原创力文档

文档评论(0)