使用ServiceStack改造我们的项目

发布时间:2018/2/6 11:21:29 次浏览

ServiceStack是一个NET环境下的开源框架集合

包括轻量级的Orm框架,数据库访问,Json处理,Redis驱动等多个模块,我们可以按需选择使用

serviceStack.Ormlite 

 serviceStack.Ormlite是一个.NET平台快速实现ORM的数据访问框架,支持多种主流的数据库。框架本省暴露一些编程接口用于数据库访问,开发者甚至不用写完整的Sql语句,可以借助 Sql Expression 构建sql语句

就可以实现数据库字段与实体类的映射。以下的操作都基于 数据库访问对象

IDbConnection dbcon

 插入数据:

using (IDbConnection db = dbFactory.OpenDbConnection()) { db.CreateTable<Employee>(); db.Insert(new Employee { Id = 1, Name = "Employee 1" }); }

查询操作:

1 自定义sql

 string cmdText = "SELECT * FROM  City WHERE " + 字段名字 + "=" + 参数化字段; 
 return dbcon.Select<City>(cmdText, new { ProvinceCode = 参数值}

2 直接返回实体 

   return dbcon.Select<City>()

Sql Expression 构建sql语句

 dbcon.Select(dbCmd.SqlExpression<Province>().Where(q => q.Code == "100010"));
 更多Api 

更新操作

dbcon.Update(new Person { Id = 1, FirstName = "Jimi", LastName = "Hendrix", Age = 27}); 
dbcon.UpdateOnly(new Person { FirstName = "JJ" }, p => p.FirstName); 

 版本管理

 我们使用命令行来处理版本依赖安装卸载等问题

 卸载版本 

Uninstall-Package ServiceStack -Force

 

参考资料

ServiceStack.Ormlite github地址

http://mono.servicestack.net/docs/ormlite/ormlite-overview

http://www.curlette.com/?cat=26

 http://www.strathweb.com/2013/03/signalr-filters-and-servicestack/

ServiceStack V3 维基百科 

https://github.com/ServiceStackV3/ServiceStackV3/wiki

https://github.com/ServiceStackV3/ServiceStackV3/wiki/Create-your-first-webservice

https://github.com/ServiceStackV3/ServiceStackV3

 

Freelance   自由职业者

 MySql与Sqlserver主要区别

 mysql的每句结束要用";"

1 获得当前日期函数:curdate(),current_date()

2 获得当前时间函数:curtime();

3 获得当前日期+时间:now();

 LinuxMysql数据库表名是区分大小写的,可以通过配置来调整

 

MySQL中没有top关键字,需要用limit代替且放在后面

 在ServiceStack中可以通过类属性的 [Alias("tablename")]来指定,这样可以保留C#本身的类命名规则,同时不影响数据库访问

http://www.cnblogs.com/chu888chu888/archive/2012/01/12/2320207.html

 遵循冷热数据分开: 
建表时,遵循更新频率不同的数据分开。频繁更新的字段应该和不怎么频繁更新的字段分开。这样有利于在流量大时,进行分开控制。更新不频繁的字段可以最限度地使用缓存。 

避免使用Null字段,

自增列或全局主键做InnoDb主键

Count(*) 资源消耗大

MYsql库表对大小写敏感

字段名字的大小写不敏感