您的位置:首页 > 其它

文章标题

2016-09-16 19:32 169 查看
Mvc+EF入门知识总结(来自传智黑马13)

一. Ef相关知识预备

1、相关知识复习

-》自动属性{get;set;}

-》隐式类型:var,dynamic

Dynamic 动态分配内存,相当于JavaScript中的var

dynamic a=10; a=”123”;

-》对象初始化器,集合初始化器

Dictionary<string,Person> dic=new Dictionary<string,Person>
{
{"a",new Person{...}},
{"b",new Person{...}}
};


-》匿名类型

成员初始化器,包括:赋值形式,标识符形式,成员访问形式

后两种被称为:投影初始化器

-》扩展方法

要求:能够手写扩展方法

优点: 可以扩展密封类型

可以扩展第三方程序集中的类型

扩展方法可以避免不必要的深度继承体系

要求:扩展方法必须在静态类中,而且该类不能是一个嵌套类

扩展方法必须是静态的

扩展方法的第一个参数必须是要扩展的类型,而且必须加上了this关键字

不支持扩展属性,事件

Public  static class SuiBianQi
{
Punbic static int ToInt(this string str)
{

}
}


-》lambda表达式:委托->方法->匿名方法->lambda表达式

两个内置委托:

Action(用于无返回值的方法)

Func(用于有返回值的方法)

有了委托之后,我们可以将方法作为方法的参数进行传递

2、First Demo

-》NuGet,ORM

-》在项目中新建“实体数据模型”,根据数据库生成实体

导航属性:这个属性并不是用于描述类本身的数据成员,而是用于描述实体间的关系

-》示例:使用EF完成顾客表数据的增加、修改、删除

OjbectStateManager

例1:方法版

例2:状态版(修改整个对象,修改单个属性)Entry,State,EntityState

例3:使用导航属性完成增加

-》成员介绍:

集合属性

Set()

Entry()

-》查询:linq to entity,查询语法,方法语法

from 变量名 in 表名 where 条件 select 列名

表名.Where().Select()

基本查询

单条件查询

多条件查询

连接查询

多from查询:专用于有导航属性的查询(linq特有)

部分列查询

分页查询(lambda特有):Skip,Take

row_number()

-》终极查询:封装分页方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mvc