Ø Ef+mvc+实现删除
1:拿到需要删除的id
2:传回后台(action),通过action取出id
3:使用ef进行删除
删除方法1:
A:通过id查询数据库返回users对象
B:Oae.users.remove(’需要删除的对象’);
删除方法2:
Oae.entry<需要操作的类型>(对象).state =删除、更新、添加
Mvc传参
/home/deletebyid?id=数据
/home/deletebyid/id 路由传参
Ø 自定义路由实现伪静态
静态页:后缀名.html
伪静态:看上去是静态页,其实不是
什么是路由:规定一个访问页面的格式
在webconfig里边通过配置解除方法限制httphander
Ø MVC+ef+分页条 实现刷新分页
Mvc默认访问的 home/index
$(function(){
});
Ef:实现分页的方法:
Skip : 跳过指定的条数
Take : 取出连续的条数
Ef分页要先指定一个排序
假设每页显示5条 page,rows
第一页:page = 1, rows =5
Oae.Users.orderby(a=>a.Id).skip(0).take(5)
Oae.Users.orderby(a=>a.Id).skip((page-1)* rows).take(rows)
第二页:page = 2, rows =5
Oae.Users.orderby(a=>a.Id).skip(5).take(5)
Oae.Users.orderby(a=>a.Id).skip((page-1)* rows).take(rows)
第三页:
Oae.Users.orderby(a=>a.Id).skip(10).take(5)
分页方法:top分页法
Ø MVC+ef+分页条+AJAX实现无刷新分页
Ø MVC向前台传值
Viewdata
ViewBag
Model
l 什么是委托
方法指针,作用:用于方法传递
l 什么是系统委托
系统为我们定义好的委托,方便我们直接使用,不用每次重复定义委托
l 什么是lamdba表达式
匿名方法
作用:简化方法
l Func
至少一个返回值
l Action
至少有一个参数
作业:lamdba改写定时器
Ø Lamdba表达式操作集合(类似linqto object)
l 更具条件查询
Where(a=>a.xx==”用户输入条件”)
l 排序
.orderby(a=>a.需要排序的字段)
l 遍历集合
Jquery写法
Data.foreach(function(index,item){
})
Data.foreach(item=>{
Item:元素
});
Ø Lamdba返回第一条数据
First ,firstordefault区别?
First:满足条件的第一个元素
Firstordefault:满足条件的第一个元素或者默认值
l Linq写法
Uesrs , score
Var query = from u inoae.users
Join s in score on u.id equals s.uid into jtemp
From ljoinin jtemp.defaultifempty()
Select new dto...xx
{
Username = u.username
Sub = ljoin.sub,
Score = ljoin.score
}
?? 操作符
String str = “ab”;
String value = str??”hello”;
ab
String str = null;
String value = str??”hello”;
hello
EF分组与函数
l Linq写法
var query = from s inoae.score
Group s by s.sub into gtemp
Select new dto_score()
{
Sub = s.sub,
Max = gtemp.max(a=>a.subscore),
Min = gtemp.min(a=>a.subscore),
AVG = gtemp.avg.. (a=>a.subscore),
}
Oae.score.groupby(a=>a.需要分组的字段)
.select(b=>new 需要返回的对象)
字符串格式化
保留n位小数
String.fromat(“{0:N3}”,3.1415)
Ø EF 三种模式
1:DBFirst : 数据库优先(使用最多)
更具数据库生成model
2:model first : 模型优先(最少)
更具model(模型)生成数据库
3:code first : 代码优先(第二)
Ø model first
查询班级的时候自动会把该班级的学生查询出来
缺点:如果我查询班级的时候只想查询班级,会浪费效率,控制起来没那么灵活
l 级联删除
设置级联删除
删除班级的时候,需要级联删除学生才行
如果删除学生需不需要一定要删除班级