使用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 ...
随机推荐
- Java中的overload(方法的覆写)
方法覆写(overload)与方法的重载非常相似,它在 Java的继承中也有很重要的应用. 写程序可能会碰到下面的情况,在父类中已经实现的方法可能不够精确,不能满足子类 的需求.例如在前面的 Anim ...
- python gdal 数组生成图片
cols = array.shape[1]rows = array.shape[0]originX = rasterOrigin[0]originY = rasterOrigin[1]driver = ...
- 【PL/SQL】九九乘法口诀表
--输出屏幕信息 SET serveroutput ON; --打印口诀表 DECLARE V_NUMBER1 ); --外层循环变量 V_NUMBER2 ); --内层循环变量 BEGIN .. - ...
- SQL基本操作——日期函数
SQL日期:当我们处理日期时,最难的任务恐怕是确保所插入的日期的格式,与数据库中日期列的格式相匹配.只要数据包含的只是日期部分,运行查询就不会出问题.但是,如果涉及时间,情况就有点复杂了.在讨论日期查 ...
- sql 分析 依赖beanutils
你还在为sql语句的拼接而烦恼吗? sql语句支持表达式了! package com.newland.bi.webservice.common.manage; import java.util.Arr ...
- BZOJ 4520: [Cqoi2016]K远点对 KDtree + 估价函数 + 堆
Code: #include<bits/stdc++.h> #define ll long long #define maxn 200000 #define inf 10000000000 ...
- [API 开发管理] 分享几个 eoLinker 实用操作技巧
一键离线导出项目,PDF.WORD等格式任你挑选 举例说明,如果我要将 "示例素材项目" 导出到本地,并且以 PDF 的格式保存. 首先找到该项目所在空间:演示空间,在左边一级菜单 ...
- 【XSY3413】Lambda - 造计算机初步——邱奇-图灵论题与lambda演算
题意: 关于邱奇-图灵论题的一点思考 这道题起源于计算机科学史上一个非常著名的问题——邱奇-图灵论题,这个论题是可计算性理论的基石,关于它的思考与证明几乎贯穿了整个计算机科学史,涵盖了数学.算法理论. ...
- 洛谷——P1572 计算分数
P1572 计算分数 模拟+字符串 注意有两位数的情况以及负数情况 #include<bits/stdc++.h> using namespace std; string s; ],b[] ...
- Windows压缩包安装MySQL
一.下载zip版本 下载网址(如果浏览器下载很慢可以使用迅雷) http://dev.mysql.com/downloads/mysql/ 二.解压将得到的文件放置到任意目录 如果解压后的文件里没有d ...