FluentData轻量级.NET ORM持久化技术详解02- Query查询详解(视频+教程)

一、课程导学

当前市面上的 ORM 框架,如 Entity Framework 和 NHibernate,都过于复杂而且难于学习。此外,由于这些框架自身抽象的查询语言以及从数据库到 .NET 对象的映射太过麻烦,导致它们生成的 SQL 都很低效。

FluentData 另辟蹊径,它是一个轻量级框架,拥有简单的 fluent API 并且很容易学会。现在越来越多的.NET企业级开发选择后端的ORM采用FluentData框架。

本系列教程将会从最基本的FluentData安装、配置开始讲起,一步步深入API使用与详细案例与性能优,全程会以【视频+教程】方式呈现,原系我本人的一某在线网站的收费课程,现打算全部公开出去。具体教程公开计划如下:

01_FluentData快速入门

02_FluentData进阶-Query查询

03_FluentData进阶-Mapping

04_FluentData进阶-多结果集&分页查询

05_FluentData进阶-Insert的三种方式

06_FluentData进阶-InsertAndUpdateBuilder&Delete操作

07_FluentData高级-如何操作存储过程

08_FluentData高级-使用事务与Entity Factory

09_FluentData高级-综合示例

我会持续本专题,如你想要获取本套课程课件,源码可在本文后留言给我,我收到后会第一时间回复。你的支持是我持续写作的动力,如你觉得对你有帮助,欢迎点赞,收藏,转发,评论,打赏,谢谢!

二、视频

本章内容:FluentData轻量级.NET ORM持久化技术详解02- Query查询详解

《FluentData轻量级.NET ORM持久化技术详解02- Query查询详解(视频+教程)》 微视频

视频链结:FluentData轻量级.NET ORM持久化技术详解02-FluentData查询详解(1)

– 腾讯视频

视频链结:FluentData轻量级.NET ORM持久化技术详解02-FluentData查询详解(2)

– 腾讯视频

三、配套文字教程

1、查询返回一个列表

1.1 、查询返回动态dynamic类型的泛型集合 (new in .NET 4.0):Listproducts = Context.Sql(“select * from Product”).QueryMany();

示例:QueryListForDynamic (见视频讲解)

1.2、查询返回一个强类型的泛型集合Listproducts = Context.Sql(“select * from Product”).QueryMany();

示例:QueryListForProduct  (见视频讲解)

1.3 、查询返回一个DataTable类型的泛型集合Listlist = Context.Sql(“select * from Product”).QueryMany();

示例:QueryListForDataTable (见视频讲解)

2、查询返回一个单一项

2.1、查询返回一个动态dynamic类型

核心代码:

dynamic product = Context.Sql(@”select * from Productwhere ProductId = 1″).QuerySingle();

示例:QuerySingleItemForDynamic (见视频讲解)

2.2 、查询返回一个强类型对象(Product)

核心代码:

Product product = Context.Sql(@”select * from Productwhere ProductId = 1″).QuerySingle();

示例:QuerySingleItemForProduct(见视频讲解)

2.3 、返回一个DataTable

核心代码:

DataTable products = Context.Sql(“select * from Product”).QuerySingle(); 

示例:QuerySingleItemForDataTable(见视频讲解)

3、查询返回一个单一值

核心代码:

int numberOfProducts = Context.Sql(@”select count(*)from Product”).QuerySingle();

示例:QueryScalerForInt (见视频讲解)

示例:QueryScalerForString (见视频讲解)

4、查询返回一个单一值列表

ListproductIds = Context.Sql(@”select ProductIdfrom Product”).QueryMany();

示例:QueryScalerListForInt (见视频讲解)

示例:QueryScalerListForString(见视频讲解)

5、参数化查询

5.1 索引参数

核心代码:

dynamic products = Context.Sql(@”select * from Productwhere ProductId = @0 or ProductId = @1″, 1, 2).QueryMany();or:dynamic products = Context.Sql(@”select * from Productwhere ProductId = @0 or ProductId = @1″).Parameters(1, 2).QueryMany();

示例:QueryListForIndexParameter (见视频讲解)

5.2 命名查询

核心代码:

dynamic products = Context.Sql(@”select * from Productwhere ProductId = @ProductId1 or ProductId = @ProductId2″).Parameter(“ProductId1”, 1).Parameter(“ProductId2”, 2).QueryMany();

示例:QueryListForNameParameter (见视频讲解)

5.3 输出参数:

核心代码:

var command = Context.Sql(@”select @ProductName = Name from Productwhere ProductId=1″).ParameterOut(“ProductName”, DataTypes.String, 100);command.Execute();string productName = command.ParameterValue(“ProductName”);

示例:QueryListForOutParameter (见视频讲解)

5.4 列表参数 – in operator

核心代码:

Listids = new List() { 1, 2, 3, 4 };dynamic products = Context.Sql(@”select * from Productwhere ProductId in(@0)”, ids).QueryMany();

示例:QueryListForlistParameter (见视频讲解)

四、结束

《FluentData轻量级.NET ORM持久化技术详解02- Query查询详解(视频+教程)》

    原文作者:fwytech
    原文地址: https://www.jianshu.com/p/c0cf4e49c8aa
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞