代码改变世界

使用ServiceStack改造我们的项目

2018-02-05 17:47 by dreamhappy, ... 阅读, ... 评论, 收藏, 编辑

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库表对大小写敏感

字段名字的大小写不敏感

营销始于对消费者需求的研究,同时还包括如何满足需求。选择和确定某些需求即意味着放弃其他需求。

定位是指我们给顾客留下什么样的印象。我们在告诉顾客:我与众不同,因为我们具备这些特色,如果你认为这些特色是重要的,是你所喜欢的,那么我的产品就是你最好的选择。

传统营销包括市场细分和定位

 

 NuGet包发现和管理工具 NuGet Package Explorer http://nuget.codeplex.com/releases/view/59864