小白学习之Code First(二)】的更多相关文章

Code First约定: 注:EDMX模板 (SSDL:存储模型=>数据库表 ,CSDL:概念模型=>实体,C-S模型=>存储和概念模型之间的映射关系) System.Data.Entity.ModelConfiguration.Conventions 命名空间 此命名空间包含描述一组规格的类,在使用code first的时候,这些规则用于自动基于类定义配置概念模型(实体类) 在上下文中我们创建了DbSet类集合,CodeFirst会根据DbSet为我们创建数据库表 public cl…
写在前面: 第二天的学习,感觉比昨天学习相对轻松一些,但是对于我这个编程语言功底很弱的人来说,还是稍稍微有些.....哈尔滨的天气一天天冷了下来,还飘着小雨,不过还是挺有意境的.充实而又忙碌的生活,让我觉得幸福感十足.每天上午看视频学习,下午总结.自己练习.今日份的鸡汤,所有看上去厉害的事情都是由一件件不起眼的小事构成的呢!加油啦 一.Python 学习及开发环境(pycharm)安装与配置 视频讲课老师说这个很好用,至于安装很简单,就是去 http://www.jetbrains.com/py…
打开文件的模式(二) 对于非文本文件,我们只能使用b模式,"b"表示以字节的方式操作(而所有文件也都是以字节的形式存储的,使用这种模式无需考虑文本文件的字符编码.图片文件的jgp格式.视频文件的avi格式) rb:   以字节方式读文件 wb: 以字节方式写文件ab: 以字节方式追加文件 注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,所以不能指定编码 1. rb #错误举例 f = open ('test1.py', 'rb', encoding = 'utf…
规则一: 一个python文件中,只写一些可以运行的功能测试代码写在这句代码下面 if __name__ =='__main__': 在讲这边的时候,我不是很懂参考了一篇博客,地址如下:http://blog.konghy.cn/2017/04/24/python-entry-program/ 简单来理解,可以把    if __name__ =='__main__':     理解为python程序的入口 对于很多编程语言来说,程序都必须要有一个入口,比如 C,C++,以及完全面向对象的编程语…
装饰器 一.装饰器的本质 装饰器的本质就是函数,功能就是为其他函数添加附加功能. 利用装饰器给其他函数添加附加功能时的原则: 1.不能修改被修饰函数的源代码        2.不能修改被修饰函数的调用方式 举例:计算以下一段程序执行时间 #程序:计算0—19的和 def cal(l): res = 0 for i in l: res += i return res print(cal(range(20))) #给上述程度增加时间模块 import time def cal(l): start_t…
生成器的一些补充 接着下鸡蛋和吃包子! 补充一:生成器只能遍历一次 (总是把生成器比喻成母鸡下鸡蛋,需要一个下一个,首先是下出来的鸡蛋不能塞回母鸡肚子里,其次是一个母鸡一生只能下一定数量的鸡蛋,下完了就死掉了) #通过程序来理解什么意思 #程序一: def test(): for i in range(2): yield i t = test() for i in t: print(i) t1 =(i for i in t) print(list(t1)) #执行结果 0 1 [] #程序分析…
一.什么是生成器? 生成器可以理解成是一种数据类型,特殊地是生成器可以自动实现迭代器协议其他的数据类型需要调用自己内置的__iter__方法所以换种说法,生成器就是可迭代对象 !回忆:很重要的迭代器协议 对象必须提供一个 next 方法,执行该方法要么返回迭代中的下一项,要么就引起一个Stoplteration异常,以终止迭代(只能往后走不能往前退) 二.生成器的分类(两类) python中生成器的表现形式 python中提供生成器的方式 一类是生成器函数:另一类是生成器表达式 第一类:关于生成…
迭代器 1.迭代器协议 对象必须提供一个 next 方法,执行该方法要么返回迭代中的下一项,要么就引起一个Stoplteration异常,以终止迭代(只能往后走不能往前退) 2.可迭代对象 实现了迭代器协议的对象(如何实现:对象内部定义一个_iter_()方法) 协议是一种约定,可迭代对象实现了迭代器协议,python的内部工具(如 for循环,sum,min,max函数等)使用迭代器协议访问对象 3.关于for循环机制 for循环的本质:循环所有对象,全都是使用迭代器协议 思考:for 循环的…
code first :约定大于配置(通过配置实体重写约定) 通过两种方式配置实体:DataAnnotations      Fluent Api System.ComponentModel.DataAnnotations命名空间中只定义了部分实体验证的特性,在EntityFramework程序集中定义了更多的数据映射特性 DataAnnotations是基于实体配置的一些简单的特性,所在命名空间:System.ComponentModel.DataAnnotations KeyAttribut…
上下文Context类中的base构造器的几个方法重置(1.无参 2.database name 3 . 连接字符串) 无参:如果基类base方法中无参,code first将会以 :{Namespace}.{Context class name} 为名字创建一个服务 public class CSContext:DbContext { public CSContext():base("name=ConnStr") //创建名为配置文件中指定的数据库 { } //public CSCo…