EntityFramework 数据持久化
第二章 LINQ 语句
一、LINQ 查询语法
1.LINQ 语法编写:from 数据源 in 数据表 where 条件 select 数据源
from | 范围,来自哪个数据源 |
where | 从数据源筛选数据的条件 |
select | 从数据源查询结果 |
group | 分组查询 |
orderby | 排序 |
join | 连接两个数据源 |
示例:
// LINQ 查询语句
from 数据源 in 数据表名 where 条件 select 数据源
//1.定义数据源
List<UserInfo> info = new List<UserInfo>();
//2.创建查询
var data =from record(自定) in info
where record.infoid=="1"
select record
//3.执行查询
foreach(int 数据源 in info)
{
输出的内容
Console.Writeline("输出的内容");
}
实例:
创建类,定义字段,封装属性
创建类,定义字段,封装属性
namespace EF2_LX
{
public class UserInfo
{
public int ID { get; set; }
public string UserName { get; set; }
public string Sex { get; set; }
public int Age { get; set; }
public string Address { get; set; }
public string Phone { get; set; }
public string Email { get; set; }
}
}
函数方法:
namespace EF2_LX
{
class Program
{
//函数方法
static void Main(string[] args)
{
//定义数据源
List<UserInfo> info = new List<UserInfo>();
//实例化
UserInfo user1 = new UserInfo();
//赋值
user1.ID = 1;
user1.UserName = "杨立新";
user1.Sex = "男";
user1.Age = 21;
user1.Address = "湖南省怀化市";
user1.Phone = "14785244563";
user1.Email = "1542154785@qq.com";
//实例化
UserInfo user2 = new UserInfo();
//赋值
user2.ID = 2;
user2.UserName = "董柯";
user2.Sex = "男";
user2.Age = 22;
user2.Address = "江西省九江市";
user2.Phone = "18889654521";
user2.Email = "4582154785@qq.com";
UserInfo user3 = new UserInfo();
user3.ID = 3;
user3.UserName = "叶希";
user3.Sex = "女";
user3.Age = 20;
user3.Address = "云南省昆明市";
user3.Phone = "17545268546";
user3.Email = "2154523698@qq.com";
UserInfo user4 = new UserInfo();
user4.ID = 4;
user4.UserName = "苏苏";
user4.Sex = "女";
user4.Age = 20;
user4.Address = "四川省成都市";
user4.Phone = "15536524587";
user4.Email = "3652584569@qq.com";
//
info.Add(user1);
info.Add(user2);
info.Add(user3);
info.Add(user4);
//输出的值
Console.WriteLine("------获取性别为女的用户------");
//创建查询
var data = from s in info
where (s.Sex == "女")
select s;
//执行查询
foreach(var itme in data)
{
Console.WriteLine("姓名:{0} 年龄:{1} 电话:
{2}",itme.UserName,itme.Age,itme.Phone);
}
Console.WriteLine("------按照用户年龄排序------");
var data1 = from a in info
orderby a.Age
select a;
//执行查询
foreach(var itme1 in data1)
{
Console.WriteLine("姓名:{0} 年龄:{1} 地址:{2}", itme1.UserName,
itme1.Age, itme1.Address);
}
//暂停
Console.ReadKey();
}
}
}