当前位置: 首页 > news >正文

ServiceStack.OrmLite MVC搭建

ServiceStack.OrmLite 是一个开源的无配置的轻量级 .NET 和 Mono 的 ORM 框架。

我的毕设就是用它搭建起来的,用起来挺好用的,下面我把我毕设的搭建步骤写下来。

首先是NuGet包的下载 (因为我数据库用的是mysql,ormlite有8个版本的还有 sqlserver,Oracle,sqlite等 )

Install-Package ServiceStack.OrmLite.MySql     加载出来的包就是下面几个

然后我还用了T4模板,用来根据数据库表自动生成类 加载的包有下面几个文件

 Install-Package ServiceStack.OrmLite.T4 (可以根据需要对OrmLite.Poco.tt做一些修改)

当然,你还要在config文件中写上数据库的连接,如下

<connectionStrings>
<add name="BMS" connectionString="Server=localhost;Database=XXX; User=root;Password=123456" providerName="MySql.Data.MySqlClient" />
</connectionStrings>

Ormlite.Poco.tt中ConnectionStringName = "";改成==》ConnectionStringName = "BMS";

这样你就可以在上面的文件中按Ctrl+S 生成类,若不做修改,类生成在Ormlite.Poco.cs 文件中;

然后你就可以搭建业务逻辑层了

这是就用到ServiceStack.OrmLite 对数据库操作的语句了。

示例如下:

1.首先,简单的封装一下

public IDbConnection GetDb()
{
var Connect = ConfigHelper.GetValue("Connect");
var dbFactory = new OrmLiteConnectionFactory(Connect, MySqlDialect.Provider);
return dbFactory.Open();
}

2.引用查询,修改等(person 是一个类)

public person Get(int Id)
{
using (var db = this.GetDb())
{
return db.SingleById<person>(Id);
}
}
public person GetByMobile(string mobile)
{
using (var db = this.GetDb())
{
return db.Single<person>(m=>m.Mobile==mobile);
}
}

还有一些语句可到以下网址查看:http://my.oschina.net/bv10000/blog/330062?fromerr=wR77evJO

转载于:https://www.cnblogs.com/haidao-mumu/p/5308936.html

相关文章:

  • JDBCTemplate
  • 20160323实盘短线操作
  • Java 开发必会的 Linux 命令
  • 第三季度斩获重要投资的15家网络安全公司
  • 被迫尝试了各个版本的asm库读取类annotation
  • 思科推出新一代互联网边界防火墙 助力企业兼顾性能与安全
  • MacBook小技巧
  • 瞧!那个SSD领域的后来者正变为引领者
  • 【转】Data URL和图片,及Data URI的利弊
  • 高效运维最佳实践七字诀,不再憋屈的运维!
  • 报org.hibernate.MappingException: Unknown entity,可能
  • 从世界杯看社交大数据分析如何为行业客户创造价值
  • 前端开发者必备的20个在线工具和指南
  • 轻量函数式 JavaScript:三、管理函数输入
  • javascript视频教程之《ECMA5核心+设计模式》
  • ES6指北【2】—— 箭头函数
  • angular2 简述
  • create-react-app项目添加less配置
  • CSS盒模型深入
  • oschina
  • Python打包系统简单入门
  • tensorflow学习笔记3——MNIST应用篇
  • vue--为什么data属性必须是一个函数
  • 构造函数(constructor)与原型链(prototype)关系
  • 关于for循环的简单归纳
  • 机器学习中为什么要做归一化normalization
  • 开发基于以太坊智能合约的DApp
  • 坑!为什么View.startAnimation不起作用?
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • Semaphore
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • ​VRRP 虚拟路由冗余协议(华为)
  • #控制台大学课堂点名问题_课堂随机点名
  • $().each和$.each的区别
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (done) 两个矩阵 “相似” 是什么意思?
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (南京观海微电子)——COF介绍
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (四)库存超卖案例实战——优化redis分布式锁
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (一)VirtualBox安装增强功能
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • ... 是什么 ?... 有什么用处?
  • .cfg\.dat\.mak(持续补充)
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .net 怎么循环得到数组里的值_关于js数组
  • .Net 中Partitioner static与dynamic的性能对比