基本语法
var result = from item
in container
orderby value ascending/descending
select item;
- 获取全部记录
var allCars = from c in myCars select c;
(提取指定行记录)
var allCars = (from c in myCars select c).Take(5);//提取前 5 个数据
(模糊查询)
var quest = from qu in mdc.Question
where qu.Question1.Contains(“数”)
select qu;//模糊查询
--------qu.Question1.Contains(“数”)//Linq 的表的哪列的 Contains()的方法
(Linq 通过对象向数据库添加数据)
NewsInfo newnf = new NewsInfo();
newnf.newscontext = nf.newscontext;
newnf.newsauthor = nf.newsauthor;
newnf.newstime = DateTime.Now;//得到系统时间
mdc.NewsInfo.InsertOnSubmit(newnf);//标记添加状态
mdc.SubmitChanges();//执行添加 - 只获取字段名称
var names = from c in myCars select c.PetName;这里 names 就是隐式类型的变量。 - 使用 Enumerable.Distinct()
var makes = (from c in myCars select c.Make).Distinct(); - 即可以在定义的时候调用 Enumberalbe 扩展函数
var names = from c in myCars select c.PetName;
foreach (var n in names)
{ Console.WriteLine(“Name: {0}”, n); } 也可以在兼容的数组类型上调用
var makes = from c in myCars select c.Make;
Console.WriteLine(“Distinct makes:”);
foreach (var m in makes.Distinct())
{
Console.WriteLine(“Make: {0}”, m);
}
var onlyBMWs = from c in myCars
where c.Make == “BMW” select c;
var onlyFastBMWs = from c in myCars
where c.Make == “BMW” && c.Speed >= 100 select c; - 生成新的数据类型(投影)
var makesColors = from c in myCars select new {c.Make, c.Color}; - Reverse()
var subset = (from c in myCars select c).Reverse();
foreach (Car c in subset)
{
Console.WriteLine(“{0} is going {1} MPH”, c.PetName, c.Speed);
}
或者
var subset = from c in myCars select c;
foreach (Car c in subset.Reverse())
{
Console.WriteLine(c.ToString());
} - 排序
默认是 ascending
var subset = from c in myCars orderby c.PetName select c;
subset = from c in myCars
where c.Speed > 55 orderby c.PetName descending select c;
默认顺序时也可以明确指明
var subset = from c in myCars
orderby c.PetName ascending select c; 8. Enumerable.Except()