天天看点

ASP.NetMVC学习总结1

知识储备

1.自动属性

2.隐式推断类型var

3.对象初始化器与几何初始化器

4.匿名类

5.扩展方法

6.Lambda表达式(Linq)

 下面新建一个Demo,复习以上的知识

 public class Person
 {
  public string Name { get; set; }
  public int Age { get; set; }
   
 }   
           
public void CreateDemo()
	    {
            Person p=new Person(){ Name = "wzp",Age = 12};
		    List<Person> list = new List<Person>
			    {
				    new Person() {Name = "wzo", Age = 12},
				    new Person() {Name = "wzp", Age = 13}

			    };
		    var  c= new {Name="www",Age=12};//匿名类	    }
           
    DelDemo del = (a, b) => a > b;//自己手写的委托
    var func = new  Func<int, int, bool>((a,b)=>a>b);//系统有返回值委托
           
  var action = new Action<string>(s => { });//无返回值的委托
           

ORM

O=>Object代表对象,R=>Relation关系,M=>Mapping代表映射,连起来表示对象与表关系的映射的框架,官方的说法是:面向对象的对象模型和关系型数据库的数据结构相互转化。

.NetEF框架

EF框架本身封装了ADO.NET,在此之上引入ORM概念模型,作用是将实体的变化映射到数据数据库中.

EF的强大作用

1.跟vs开发工具集成度比较好,自动化程度高,代码中都是操作强类型,简单,快捷方便,大大提高了开发效率

2.可以支持跨数据库,由于我们开发人员代码中全是对实体的操作,不涉及对数据库的具体操作,所以只需要改一下配置,就可以实现跨数据库.

3.EF提高的模型设计器非常强大,也附带的自动化模型生成代码的功能,ModelFirst,DBFirst.

 缺陷就是:性能较差(有生成sql脚本的过程),生成复杂的sql效率超慢

IEnumerable<>和IQuerable<>的区别:

 前者是直接将数据加载到本地的内存中

后者是采用延迟加载,用的时候才去查