前期准备(还未处理完)

BLL 业务逻辑层
屏幕录像专家
EF Power Tools CTP1
人才网三层架构搭建
三层架构+ASP.NET MVC3架构

安装Entity Framework(管理解决方案程序包)
使用后,发现一个问题
在进行Reverse Engineer Code First时
会出现
参数错误。(异常来自HRESULT:0x80070057)
如何解决呢,查过网络上一些解决办法,都没办法解决我的问题
后来才发现是目标框架问题(我使用的框架是4.5.2)
删除 C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET files 文件夹
删除C:\Users\LE\AppData\Local\Temp/Temporary ASP.NET files 文件夹
修改连接属性中的高级属性Integrated Security为True
修改连接属性中的高级属性Persist Security Info为True
点击项目属性,对目标框架进行修改,修改为.NET Framework 4.5.1

一些视频中不符的做法,添加引用Entity Framework
实际,我本人是没找到的
可以在Nuget-解决方案中添加Entity Framework

关于添加mdf文件创建数据库
1.在对象资源管理器中找到“数据库”,右键单击,选择“附加”
2.在附加数据库对话框中点击“添加”
3.附加数据库中出现选中的mdf文件数据库,点击“确定”

Linq to Sql
Linq to Entities
Entity Framework(简称EF,实现数据接口)

添加EF的几种方式:
直接创建MVC3 Internet应用程序(前提要求安装了相应的EF及相关插件)
直接找到EntityFrameWork.dll(注意版本要求是1.1),手工添加引用到项目中
采用NuGet方式安装

分成三层,web,DAL(数据访问层),BLL(业务逻辑层,起中转作用)
Web引用BLL和DAL和Entity
DAL引用Entity
BLL引用DAL和Entity
MyJob.DAL.Entities.C_Provinces

定义模型类,将类映射到数据库中表

嵌入式数据库

包含视图的MVC5控制器(使用Entity Framework)
可以进行创建、读取、更新、删除、列出(增删改查),包含Razor视图
模板,模型类

添加控制器Mvc5时,出现错误(运行所选代码生成器时出错)
管理解决方案的NuGet程序包
添加Entity Framework
添加EntityFramework.SqlServerCompact

找不到数据库位置
最终在SQL Server对象资源管理器中找到……

没有连接串的情况:
默认情况下,未指明时,EF Code First将在SQL Express中创建一个与DbContext同名的数据库

显示指定连接字符串:
在web.config中增加一个连接串设备来显示指定,连接串的名字需要匹配DbContext类的名字。默认景象下,EF将会查找同名的连接串来决定数据库的位置

Control层作用:
1.决定与“用户”沟通的渠道
2.决定系统运作的流程
3.负责从Model中获取数据
4.决定显示哪个View视图
5.在发生错误时选择适当的View进行响应

View层:
主要作用:输出和接受用户的输入

三者之间的关系:
Http->Control->Model->View
既关联又独立

自动生成代码,将实体以及存储逻辑混合在一起
Linq to Sql
Linq to Entity
缺点:
编写测试,无法拆分单独测试;
调试Bug中,不容易调试

asp.net Respositories(库模式)
针对接口编程,使程序代码可以实现最大程度的扩展
方便ASP.NET.MVC的单元测试
为后期实现IOC控制反转打下基础

添加时的一个麻烦,一直打不开文件夹
解决:显示所有文件

@Url.Content()

暂时修改了MyJob.DAL下HuilianJobContext的命名空间namespace MyJob.Entity.Models为namespace MyJob.DAL

接口里面不需要public

可枚举类型定义
public enum LoginStatus
{
Success,Failed,Locked
}

Trim()作用:
去掉字符序列左边和右边的空格,不去除字符序列中间的空格
str=” I will”;
str=Trim(str);
这时候str=”I will”;

style=”background:url(文件路径):width:95px;height:30px;”

远程验证,通过属性标签进行定义
在MyJob.DAL中添加引用System.Data.Entity

因为有所不同,在根据登录的用户名来获取个人会员实体时,要从Entity.Models中获取

Configuration(配置)
viewbag特点:
是从controller向view传值用的(动态类型)
不再是字典的键值对结构,而是动态结构,会在程序执行的时候动态解析
是MVC3独有的,基于Asp.Net.Mvc4.0和net framework
在viewpage中查询数据时不需要类型转换
可读性好

Control",简称IoC。也许有人不快习惯这样的开发方法,但在规划较大的软件架构时,这种方法却可以有效降低类之间互相依赖的情况,不但能增加架构的弹性,也能有效降低软件的复杂度。

如果不考虑控制反转的情况,采用比较直接的开发方式,当然是不用先建立接口而直接建立类,然后直接在应用层中调用即可。如此一来,应用层的对象就会与BLL层对象高度相依。这样的相依性会导致这两个类无法拆开。为什么要拆开这两个类呢?由于单元测试是软件测试的最小单位,所以如果日后导入单元测试,那么这种两个类彼此相依的状况就会导致单元测试难以进行。 

为了避免应用层对象与BLL层对象或BLL层对象与DAL层对象产生相依性,我们需要替BLL层对象加上一个IBLL接口,而在应用层对象中则可以通过IBLL接口来执行BLL对象的动作。但即使是这样,BLL对象与应用层对象的相依性还是存在,因为在应用层对象构造符处还是需要建立实体的BLL对象,如 IBLL _bll = new BLL(); 

为了解决耦合度问题,引入了控制反转IoC。目前网络上可以使用的控制反转容器有很多,例如微软的Unity、Castle Windsor、Autofac、StructureMap等都拥有广大的支持者。下面就简单介绍我在项目中运用的Autofac,也是目前性能比较好的控制反转容器之一。

关于Global.asax文件的一些解释:
Global.asax 文件,有时候叫做 ASP.NET 应用程序文件,提供了一种在一个中心位置响应应用程序级或模块级事件的方法。你可以使用这个文件实现应用程序安全性以及其它一些任务。

Global.asax 位于应用程序根目录下。
虽然 Visual Studio .NET 会自动插入这个文件到所有的 ASP.NET 项目中,但是它实际上是一个可选文件。删除它不会出问题——当然是在你没有使用它的情况下。
.asax 文件扩展名指出它是一个应用程序文件,而不是一个使用 aspx 的 ASP.NET 文件。
Global.asax 文件被配置为任何(通过 URL 的)直接 HTTP 请求都被自动拒绝,所以用户不能下载或查看其内容。
ASP.NET 页面框架能够自动识别出对Global.asax 文件所做的任何更改。在 Global.asax 被更改后ASP.NET 页面框架会重新启动应用程序,包括关闭所有的浏览器会话,去除所有状态信息,并重新启动应用程序域。

Mvc转换
Html.

用户自定义局部视图(创建视图布局页)

region 用户自定义局部视图

    [ChildActionOnly]
    public ActionResult Header()
    {
        return View();
    }
    [ChildActionOnly]
    public ActionResult Footer()
    {
       
        return View();
    }
    [ChildActionOnly]
    public ActionResult Left()
    {
        Per per = Session["user"] as Per;
        ViewBag.PerId = per.PerId;
        return View();
    }
    [ChildActionOnly]
    public ActionResult Navigator(int tag) {
        return View(tag);
    }
    #endregion

@{Html.RenderAction(“分布视图名”,”分布视图”);}

regexp
正则验证

regexp
正则验证

TempData(取出即消失)

js写法(写在页面开头)
@section HeaderSection{

}
修改
|
删除

&nbsp(空格占位符)

MyJob_2018\MyJob\Scripts下的GetCode.aspx中的

猜你喜欢

转载自www.cnblogs.com/mumuyinxin/p/9543723.html
今日推荐