使用Linq 查询数据 构建对象 select new{}
linq 查询数据
/// <summary>
/// 汽车品牌及车型
/// </summary>
/// <returns></returns>
public string GetCarBrandSeries()
{
var result = from a in db.CR_BC_BRAND
join c in db.CR_BC_BRAND_SERIES on a.CR_BC_BRAND_ID equals c.CR_BC_BRAND_ID
select new
{
id = c.CR_BC_BRAND_SERIES_ID,
name = a.BRAND_NAME + c.SERIES_NAME
};
var JsonData = jsz.Serialize(result);
return JsonData;
} /// <summary>
/// 城市信息
/// </summary>
/// <returns></returns>
public string CarInfo()
{
//linq联合查询。
var fromCityList = from a in db.CR_BC_CITY
join b in db.CR_BC_STORE on a.CR_BC_CITY_ID equals b.CR_BC_CITY_ID
join c in db.CR_BE_CAR_RENTAL on b.CR_BC_STORE_ID equals c.CR_BC_STORE_ID
join d in db.CR_BE_TAILWIND_CAR_RENTAL on c.CR_BE_CAR_RENTAL_ID equals d.CR_BE_CAR_RENTAL_ID
select a; //linq联合查询。
var toCityList = from a in db.CR_BC_CITY
join b in db.CR_BE_TAILWIND_CAR_RENTAL on a.CR_BC_CITY_ID equals b.CR_BC_CITY_ID
select a; var humpPinyinsList = from a in fromCityList join b in toCityList on a.CR_BC_CITY_ID equals b.CR_BC_CITY_ID select new { a.HUMP_PINYINS };
foreach (var v in humpPinyinsList)
{
//这里用到了用split切割字符串。 humpPinyins = v.HUMP_PINYINS.Split(',').ToList();
} //将fromCityList(表) 与toCityList(表) 用Concat方法连接起来 然后用Distinct方法去除反复数据
var allCity = from a in fromCityList.Concat(toCityList).Distinct()
select new
{
capitalcity = a.CAPITAL_CITY,//是否为省会城市
code = a.CR_BC_CITY_ID,//城市ID
enName = a.EN_NAME,
flag = 1,
home = false,
humpPinyins, //城市名称缩写序列
municipality = a.MUNICIPALITY,
name = a.CITY_NAME,
newflag = false,
szm = db.CR_BC_STORE.Where(r=>r.CR_BC_CITY_ID==a.CR_BC_CITY_ID).Count()+"家门店",
top = a.ISTOP,
tour = a.ISTOUR,
}; var fromCity = from a in fromCityList.Distinct() select new
{
capitalcity = a.CAPITAL_CITY,
code = a.CR_BC_CITY_ID,
enName = a.EN_NAME,
flag = 1,
home = false,
humpPinyins,
municipality = a.MUNICIPALITY,
name = a.CITY_NAME,
newflag = false,
opening_time = "",
szm = db.CR_BC_STORE.Where(r => r.CR_BC_CITY_ID == a.CR_BC_CITY_ID).Count() + "家门店",
top = a.ISTOP,
tour = a.ISTOUR,
}; var toCity = from a in toCityList.Distinct()
select new
{
citys = new
{
capitalcity = a.CAPITAL_CITY,
code = a.CR_BC_CITY_ID,
enName = a.EN_NAME,
flag = 1,
home = false,
humpPinyins ,
municipality = a.MUNICIPALITY,
name = a.CITY_NAME,
newflag = false,
opening_time = "",
szm = db.CR_BC_STORE.Where(r => r.CR_BC_CITY_ID == a.CR_BC_CITY_ID).Count() + "家门店",
top = a.ISTOP,
tour = a.ISTOUR,
},
fromCityId = a.CR_BC_CITY_ID,
}; var x = new { allCity, fromCity, toCity }; var jsonData = jsz.Serialize(x);
return jsonData;
}
构造出来的对象 转成js格式
{
"allCity": [
{
"capitalcity": true,
"code": 2,
"enName": "guagnzhou",
"flag": 1,
"home": false,
"humpPinyins": [
"GZ"
],
"municipality": false,
"name": "广州",
"newflag": false,
"szm": "2家门店",
"top": true,
"tour": true
},
{
"capitalcity": true,
"code": 3,
"enName": "shenzhen",
"flag": 1,
"home": false,
"humpPinyins": [
"GZ"
],
"municipality": false,
"name": "深圳",
"newflag": false,
"szm": "0家门店",
"top": true,
"tour": true
}
],
"fromCity": [
{
"capitalcity": true,
"code": 2,
"enName": "guagnzhou",
"flag": 1,
"home": false,
"humpPinyins": [
"GZ"
],
"municipality": false,
"name": "广州",
"newflag": false,
"opening_time": "",
"szm": "2家门店",
"top": true,
"tour": true
}
],
"toCity": [
{
"citys": {
"capitalcity": true,
"code": 2,
"enName": "guagnzhou",
"flag": 1,
"home": false,
"humpPinyins": [
"GZ"
],
"municipality": false,
"name": "广州",
"newflag": false,
"opening_time": "",
"szm": "2家门店",
"top": true,
"tour": true
},
"fromCityId": 2
},
{
"citys": {
"capitalcity": true,
"code": 3,
"enName": "shenzhen",
"flag": 1,
"home": false,
"humpPinyins": [
"GZ"
],
"municipality": false,
"name": "深圳",
"newflag": false,
"opening_time": "",
"szm": "0家门店",
"top": true,
"tour": true
},
"fromCityId": 3
}
]
}
使用Linq 查询数据 构建对象 select new{}的更多相关文章
- 2.3 LINQ查询表达式中 使用select子句 指定目标数据
本篇讲解LINQ查询的三种形式: 查询对象 自定义查询对象某个属性 查询匿名类型结果 [1.查询结果返回集合元素] 在LINQ查询中,select子句和from子句都是必备子句.LINQ查询表达式必须 ...
- 使用LINQ查询数据实例和理解
使用LINQ查询数据实例和理解 var contacts= from customer in db.Customers where customer.Name.StartsWith("A&q ...
- LINQ GroupBy 查询数据赋给select
roles.GroupBy(a => new { a.SubjectID,a.SubjectName}).Select(p => new SelectListItem() { Value ...
- 【MySQL】SELECT语句 - 查询数据
第4章 检索数据 文章目录 第4章 检索数据 1.SELECT语句 2.检索单个列 3.检索多个列 4.检索所有列 5.检索不同的行 6.限制结果 7.使用完全限定的表名 8.小结 简单记录 - My ...
- Linq查询操作之投影操作
投影操作,乍一看不知道在说啥.那么什么是投影操作呢?其实就是Select操作,名字起的怪怪的.和Linq查询表达式中的select操作是一样的.它能够选择数据源中的元素,并指定元素的表现形式.投影操作 ...
- Unity3D C#中使用LINQ查询(与 SQL的区别)
学过SQL的一看就懂 LINQ代码很直观 但是,LINQ却又跟SQL完全不同 首先来看一下调用LINQ的代码 int[] badgers = {36,5,91,3,41,69,8}; var skun ...
- 【总结】LINQ查询基本操作列表
每个LINQ查询都以from子句开始,from子句包括以下两个功能. 指定查询将采用数据源. 定义一个本地变量,表示数据源中单个元素. string[] values = { "中国&quo ...
- Linq查询基本操作
摘要:本文介绍Linq查询基本操作(查询关键字) - from 子句 - where 子句 - select子句 - group 子句 - into 子句 - orderby 子句 - join 子句 ...
- PL/SQL查询oracle数据库对象
dictionary 全部数据字典表的名称和解释,它有一个同义词dict,dict_column 全部数据字典表里字段名称和解释 如果我们想查询跟索引有关的数据字典时,可以用下面这条SQL语句: se ...
随机推荐
- 常用的Axure操作方法(1)
1. 保存原型图片到本地,如在网页上看到图标素材,好多个在一张图上. 如上图所示,将图片拖入axure中,利用分割或者裁剪,把小图标 ...
- android黑科技系列——解析公众号文章消息和链接文章消息自动打开原理
一.辅助功能方案分析 关于WX的各种功能插件已经非常普遍了,而现在的插件都是依赖于Xposed框架进行的,所以个人觉得WX应该在这方便应对Xposed框架的使用防护,防止插件满天飞的现象,本文来介绍一 ...
- Angular——todos案例
基本介绍 (1)视图绑定两个数组,分别对应未完成和已完成 (2)数组的删除splice(),数组的追加push() 基本使用 <!DOCTYPE html> <html lang=& ...
- html5——动画案例(无缝滚动)
无缝滚动:是两组拼在一起的 <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...
- (转)Quartz任务调度(1)概念例析快速入门
http://blog.csdn.net/qwe6112071/article/details/50991563 Quartz框架需求引入 在现实开发中,我们常常会遇到需要系统在特定时刻完成特定任务的 ...
- CAD绘制一个直径标注(com接口VB语言)
主要用到函数说明: _DMxDrawX::DrawDimDiametric 绘制一个直径标注.详细说明如下: 参数 说明 DOUBLE dChordPointX 在被标注的曲线上的第一个点X值 DOU ...
- C语言中的DEBUG
#cat aa.c #include <stdio.h> #include <stdarg.h> #include <stdlib.h> #include < ...
- 1.Linux入门介绍
1.1 Linux概述 1.1.1 Linux简要介绍 Linux的由来: Linux的内核最初是由芬兰人李纳斯·托瓦茨在上大学的时候编写的一个内核,它是基于Unix操作系统编写的 大多服务器使用的是 ...
- js 随机数范围
Math.floor(Math.random()*(high-low+1) +low)
- Shell 脚本编程 基本语法:
Shell 脚本编程语法: 注: 文章来源 http://www.cnblogs.com/yunquan/p/6821850.html 视频来源:https://www.bilibili.com/vi ...