//Linq查询字符串
private static void getLinqStr() {
string strTest = "We are Studying Linq To Object";
#region Linq查询语句
//var query = from c in strTest
// //where c == 'o'//查询所有的带有o的字符
// where char.IsUpper(c) //查询所有的大写字母
// select c;
#endregion
#region Linq查询方法 lamda表达式
var query = strTest.Where(c=>char.IsUpper(c));
#endregion
foreach (var c in query)
{
Console.WriteLine(c);
}
Console.ReadLine();
}
//Linq查询字集合
private static void getListLinq() {
List<Students> listStus = new List<Students> {
new Students() {StuName="张三",StuSex="男",Birthday=DateTime.Parse("1990-09-10") },
new Students() {StuName="张四",StuSex="男",Birthday=DateTime.Parse("1991-09-10") },
new Students() {StuName="王五",StuSex="男",Birthday=DateTime.Parse("1992-09-10") }
};
#region Linq查询语句
//var stuList = from student in listStus
// //查询日期为1991-09-10的
// //where stList.Birthday == DateTime.ParseExact ("1991-09-10", "yyyy-MM-dd", System.Globalization.CultureInfo.CurrentCulture)
// //查询姓张的男学生,按照升序排序
// where student.StuName.StartsWith("张") && student.StuSex == "男"
// orderby student.Birthday ascending
// select student;
#endregion
#region LinqList查询方法
var stuList = listStus.Where(student => student.StuSex.Equals("男") && student.StuName.StartsWith("张")).OrderBy(student => student.Birthday);
#endregion
foreach (var item in stuList)
{
Console.WriteLine(item.ToString());
}
Console.ReadLine();
//return listStus;
}
Linq to Entities
数据投影:
1.把实体对象转化成为一个新的对象来使用
2.一般通过够找一个隐式类型的对象来完成(使用匿名对象构造)
#region 查询数据 只查询几个字段
var stuList = from accountRule in efdb.AccounttingRules
where accountRule.Id == 2018082987
//select accountRule;查询全部字段
select new { accountRule.InitialPrice, accountRule.InitialTime };//查询其中几个字段
#endregion