查询:
LINQ查询的基本语法关键词:
from:指定范围变量和数据源
Where:根据bool表达式从数据源中筛选数据
Contains():模糊查询。括号内:要查询的数据
Select:指定查询结果中的元素所具有的类型
group:对查询结果按照键值进行分组
into:提供一个标识符(可用于左连接存放零时表)
orderby:对查询出的元素进行排序:
①:ascending:正序(排序默认是这个)
②:descending:降序排序
join:按照两个指定匹配的条件来Equals连接两个数据源
where语句:,它是 LINQ 表达式的元素筛选机制,除了开始和结束的位置,它几乎可以出现 在 LINQ 表达式的任意位置上。
在一个 LINQ 表达式中,可以有 where 子句,也可以没有;可以有一个,也可以有多个;多 个 where 子句之间的逻辑关系相当于逻辑“与”,每个 where 子句可以包含 1 个或多个 bool 逻辑表达式,这些条件成为谓词,谓词逻辑之间用的是“&&”“||”等而不是 SQL 中 的 and 、or。
单表查询、连表查询
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200819144507424.png#pic_center)
LINQ单表查询:var 自定义表名= myModel.模型表.ToList();
连表查询:
注意:根据主键和外键的数据一致就可以进行连表
List<数据库表/封装的实体类> 自定义名 = (from 自定义A in myModel.表A join 自定义B in myModel.表B on 自定义A.表的主键ID equals 自定义B.表的外键ID
join 自定义C in myModel.表C on 自定义B.表的主键ID equals 自定义C.表的外键ID
select new 封装的实体列
{
查询的字段
变量名=自定义表.表里面的字段,
变量名=自定义表.表里面的字段
}).ToList();
新增和修改:
新增和修改操作差不多
新增修改区别:修改需要获取需要修改的数据和回填数据
新增操作
1、 首先新增数据是获取页面用户填写的数据
2、 判断页面数据是否为空
3、 请求到控制器
4、 然后验证数据是否可以新增(验证数据不能为空,是否重复,格式是否正确等等)
5、 判断无误在进行保存到数据库中
新增核心代码:myModel.S_Airport.Add(参数);
写入数据库:myModel.SaveChanges()
具体代码:
- 首先新增数据是获取页面用户填写的数据
- 判断页面数据是否为空
- 用$.post方法请求到控制器
$,post(“方法的路径“,{传递的参数},function(回调函数))
4.然后验证数据是否可以新增(验证数据不能为空,是否重复,格式是否正确等等)
5.判断无误就可以保存到数据库中
保存核心语句:myModel.S_Airport.Add(参数);
写入数据库:myModel.SaveChanges()
修改操作:
修改的核心语句:
告诉数据库,我把数据修改了
myModel.Entry(参数).State = EntityState.Modified;
保存数据写入数据库
myModel.SaveChanges();
1.在页面通过异步提交方法向控制器请求接收回填的数据
2.获取页面用户修改的数据
3.判断页面数据是否为空
4.请求到控制器
5.根据需要修改的行的内容的ID,查询出该行的数据
6.然后验证数据是否可以新增(验证数据不能为空,是否重复,格式是否正确等等)
7.判断无误在进行保存到数据库中
删除:
1、 询问是否要删除,然后向控制器发送请求
2、 根据查询出需要删除的行的内容的ID,查询出该行的数据
3、 判断删除的数据
4、 删除数据库数据操作
删除核心语句:
myModel.S_Airport.Remove(参数);
保存数据修改到数据库
myModel.SaveChanges();