C#Linq语法二
来源:互联网 发布:spss剔除异常数据 编辑:程序博客网 时间:2024/05/22 06:06
1、
//IsDigit():指定的字符是否在十进制数字 string datatSource = "Visual Studio 2010 team"; var values = from u in datatSource where char.IsDigit(u) select u; foreach (var item in values) { Response.Write(item.ToString() + "<br />"); } Response.Write("<br />"); //匿名函数==================== List<WebProject.classFiles.Students> list = new List<classFiles.Students> { new Students{ID=1,Name="jack"}, new Students{ID=2,Name="bokk"} }; var value = from d in list select new { d.ID, d.Name }; foreach (var item in value) { Response.Write(item.ID + " " + item.Name + " "); } Response.Write("<br />"); foreach (var item in value) { Response.Write(string.Format("用户ID:{0},用户姓名:{1}", item.ID, item.Name)); } Response.Write("<br />"); //============================= string sql = "select TOP 10 ID,ProjectName,ContractNumber from LbtProjectInfo"; DataSet ds = LearningComon.SqlHelp.ExecuteDataset(LearningComon.SqlHelp.constr, sql, CommandType.Text, null); var querys = from infos in ds.Tables[0].AsEnumerable() select infos; foreach (var item in querys) { Response.Write("工程名称:" + item.Field<string>("ProjectName") + " 项目编号:" + item.Field<string>("ContractNumber")); Response.Write("<br />"); } Response.Write("<br />"); //IEnumerable对象==Field<T>()方法=========== IEnumerable<DataRow> queryss = from infos in ds.Tables[0].AsEnumerable() select infos; DataTable dt = queryss.CopyToDataTable<DataRow>(); var querysss = from infos in ds.Tables[0].AsEnumerable() where infos.Field<int>("ID") < 530 select new { PN = infos["ProjectName"].ToString(), CN = infos["ContractNumber"].ToString() }; foreach (var item in querysss) { Response.Write("PN " + item.PN + ", CN " + item.CN); } Response.Write("<br />"); //Field<T>==================== //SetField<T> var queryst = from infos in ds.Tables[0].AsEnumerable() where infos.Field<int>("ID") < 520 select infos; foreach (var item in queryst) { item.SetField<string>("ContractNumber", "ZK11111"); } DataTable dt2 = queryst.CopyToDataTable<DataRow>(); GridView1.DataSource = dt2; GridView1.DataBind(); Response.Write("<br />");
1、Linq to Sql语法:
http://www.cnblogs.com/yukaizhao/archive/2010/05/19/linq_to_sql_grouping_having.html
2、
http://www.cnblogs.com/libingql/
===============================================
3、
C#
//用linq to sql写一个最简单的group分组语句: string WatchSqlPath = @"D:\1.txt";//在D盘新建一个1.txt,什么内容都不写 using (var writer = new StreamWriter(WatchSqlPath, false, Encoding.UTF8)) { using (DataClasses1DataContext db = new DataClasses1DataContext()) { db.Log = writer; var querys = from s in db.LbtProjectInfo group s by s.TestType into sg select new { Keyid = sg.Key, counts = sg.Count() }; foreach (var item in querys) { Response.Write(string.Format("ID={0} 总数= {1} <br />", item.Keyid, item.counts)); } } }执行后1.txt里面的内容:
SELECT COUNT(*) AS [counts], [t0].[TestType] AS [Keyid] FROM [dbo].[LbtProjectInfo] AS [t0] GROUP BY [t0].[TestType] -- Context: SqlProvider(Sql2008) Model: AttributedMetaModel Build: 4.7.2053.0
4、、
LINQ to SQL 系列五 grouping having
//用linq to sql写一个最简单的group分组语句: string WatchSqlPath = @"D:\1.txt";//在D盘新建一个1.txt,什么内容都不写 using (var writer = new StreamWriter(WatchSqlPath, false, Encoding.UTF8)) { using (DataClasses1DataContext db = new DataClasses1DataContext()) { db.Log = writer; var querys = from s in db.LbtProjectInfo group s by new { s.TestType, s.Status } into sg let cn = sg.Count<LbtProjectInfo>() orderby cn descending select new { Keyid = sg.Key.TestType, status = sg.Key.Status, counts = cn }; foreach (var item in querys) { Response.Write(string.Format("检测类型={0} 状态={1} 总数= {2}条 <br />", item.Keyid, item.status ,item.counts)); } } }执行后1.txt里面的内容:
SELECT [t1].[TestType] AS [Keyid], [t1].[Status] AS [status], [t1].[value] AS [counts] FROM ( SELECT COUNT(*) AS [value], [t0].[TestType], [t0].[Status] FROM [dbo].[LbtProjectInfo] AS [t0] GROUP BY [t0].[TestType], [t0].[Status] ) AS [t1] ORDER BY [t1].[value] DESC -- Context: SqlProvider(Sql2008) Model: AttributedMetaModel Build: 4.7.2053.0显示效果:
相关文档:
http://www.cnblogs.com/yukaizhao/archive/2010/05/19/linq_to_sql_grouping_having.html
调用:
IEnumerable<T>类型直接转换成DataTable
IEnumerable<LbtProjectInfo> lbt= from n in dbc.LbtProjectInfo
select n;
DataTable dt = IEnumerableExtensions.AsDataTable<LbtProjectInfo>(lbt);
public static class IEnumerableExtensions { public static DataTable AsDataTable<T>(this IEnumerable<T> data) { PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(typeof(T)); var table = new DataTable(); foreach (PropertyDescriptor prop in properties) table.Columns.Add(prop.Name, Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType); foreach (T item in data) { DataRow row = table.NewRow(); foreach (PropertyDescriptor prop in properties) row[prop.Name] = prop.GetValue(item) ?? DBNull.Value; table.Rows.Add(row); } return table; } }
=================================================
http://www.cnblogs.com/liqingwen/p/5801249.html
阅读全文
0 0
- C#Linq语法二
- LINQ语法二
- C#Linq语法
- LINQ学习心得二)LINQ语法详解
- LINQ 查询语法与方法语法 (C#)
- LINQ学习心得分享--------(二)LINQ语法详解
- LINQ学习心得分享--------(二)LINQ语法详解
- 第三十五讲 LINQ 语法(二)
- LINQ语法
- LINQ语法
- Linq语法
- Linq语法
- linq语法
- Linq 语法
- Linq语法
- Linq语法
- 第三十五讲 LINQ 语法(二) 实例补充
- linq方法语法--学习linq的资料和笔记(二)
- Git 使用篇一:初步使用GitHub,下载安装git,并上传项目
- 1011. A+B和C
- SparSQL版 wordCount
- Socket的深入理解之一
- 用HTML和CSS制作现流行的UI Placeholder
- C#Linq语法二
- 自适应控制设计(二)
- lineageos错误7,来自贴吧的小技巧
- 【显示过滤/排序结果】非常实用
- 使用RecyclerView实现动态添加头布局,脚布局
- IDEA开发中比较常用的快捷键
- SGU 115. Calendar (基姆拉尔森公式)
- ACM-ICPC国际大学生程序设计竞赛北京赛区(2017)网络赛-A-Visiting Peking University
- POJ 2965.The Pilots Brothers' refrigerator