ef6+asp.net MVC5+bootstrap3
级联删除
EF配置的外键关系除了配置为Optional(可选的,也就是可空),其他默认都是级联删除的,意思就是删除主表的某个数据,相关联的从表数据都自动删除:
级联删除虽然方便,但是并不常用。
例 分类与产品是一对多的关系,删除分类的时候开启级联删除就会删除这个分类对应的所有产品,这样显示是不合理的。
ef默认开启级联删除,所以一般做法是在上下文的OnModelCreating方法中
modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
移除这个默认约定,再在需要开启级联删除的FluentAPI关系映射中用. WillCascadeOnDelete(true) 单独开启
ModelState.IsValid
这个对象不仅包含了用户所有想放入模型属性里的值,也包括与每一个属性相关联的所有错误,和模型本身的错误,如果存在错误ModelState.IsValid返回false。
接收一个Movie类型的参数, ModelState.IsValid会自动检查这个参数是否合法,如果不合法,就返回到原来表单页面上,显示检查错误信息。
相对路径
相对路径就是相对于当前文件的路径。网页中一般表示路径使用这个方法。
“./” 代表当前目录 <img src="./img/icon.jpg" />等同于<img src="img/icon.jpg" />
“../” 代表上一级目录
“/” 当前根目录,是相对目录;<img src="/img/icon.jpg" />
“~/” Web 应用程序根目录。
相对路径的优点:
A、容易移动内容,可以整个目录移动。
B、测试方法比较灵活,本机测试时比较方便。
相对路径的缺点:
部分内容页面换了位置时,链接容易失效。
绝对路径
绝对路径就是你的主页上的文件或目录在硬盘上真正的路径。绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,比如,你的Perl 程序是存放在 c:/apache/cgi-bin 下的,那么 c:/apache/cgi-bin就是cgi-bin目录的绝对路径
绝对路径的优点:如果网页位置改变,里面的链接还是指向正确的URL。
绝对路径的缺点:在编码编写时不方便使用绝对路径,因为链接应该指向真正的域名而不是开发站点。会出现在自己电脑显示正常,到服务器就出不来的情况。