ASP.NET MVC+EF框架+EasyUI实现权限管理系列(1)-框架搭建
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(1)-框架搭建
ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)
前言:这篇博客开始我们便一步一步的来实现这个权限系统的初步设计-框架搭建,首先我要说的是我们需要开发工具Visual Studio 2012或者10也行,其次是我们要有SQL Server数据库,如果是Visual Studio 2010的话,你还要安装MVC4的开发文件,这个是吗?我不记得了,谁可以回答我一下的,我一直用2012,都是集成好的,所以不太清楚。因为这篇博客比较简单,只是建立一个简单的架构,所以我顺便进行一下MVC的知识补充,后面我也会这样穿插着介绍项目中遇到的技术,下面开始今天之旅。
在学习MVC之前,我们有必要知道这些知识点(自动属性,隐式类型var,对象初始化器和集合初始化器,匿名类,扩展方法,Lambda表达式),如果你还不知道的话就请看我下面的简单的介绍,如果你已经知道的话,就可以掠过这篇博客,看下面我建立的项目的初步图像,然后下篇我们开始简单的介绍。
1.自动属性
(1)自动属性(Auto-Implemented Properties),C#自动属性可以避免原来我们手工的来声明一个私有成员变量以及和属性get,set的书写。
public class Kencery //声明一个Kencery的类
{
public int ID{get;set;} //主键ID
public string Name{get;private set;} //只读属性名字
public int Age{get;set;} //年龄
}
2.隐式类型var
(1)现在越来越多的项目中你可以看到var,这是什么意思呢?其实这就是C#3.0新特性提供的隐士类型var,var关键字指示编译器根据初始化语句右侧的表达式推断变量的类型。
var Kencery=”大家晚上好”; //定义变量
var list=new List<int>(); //定义一个List集合
var Kencery=new{ID=1,Name=”HYL”,age=24} //对象初始化起定义的类型
var geners = from n in StoreContract.ProductCatalogs
where n.IsSystem == false
select n;
return View(geners);
//Linq的使用,这个在后面我们会大量的使用,大家没学过的可以自学。
(2) var有这么大的功能,那么他有什么缺点呢,我们这里列举大致一下
1)只有在同一个语句中声明和初始化局部变量时,才能使用var,不能将该变量初始化为null,方法组或者匿名方法。
2)不能将var用于类范围的域。
3)由var声明的变量不能用在初始化表达式中,换句话说,此表达式是合法的:int i=(i=20);,但是后面的这个表达式会产生编译错误:var i=(i=20)。
4)不能在同一个语句中初始化多个隐式类型的变量。
5)如果范围中有一个名为var的类型,则var关键字将解析为该类型名称,而不做为隐式类型局部变量声明的一部分去处理。
3.匿名类
(1)将一组只读属性封装到单个对象中,而无需首先显示定义一个类型,类型名由编译器生成,并且不能在源代码级使用,每个属性的类型由编译器推断。[var]
(2)用来初始化属性的表达式不能是null,匿名函数和指针类型。
var Kencery=new{ID=1,Name=”HYL”,Age=24}
4.对象初始化器和集合初始化器
(1)对象初始化器是利用了编译器对对象中对外可见的字段或者属性进行按序赋值,在编译还是隐式调用了构造函数,对字段或属性的赋值可以是一个或者多个。
List<Kencery> kencery=new List<Kencery>{ //Kencery类
new Kencery{ID=1,Name=”Hanyinglong”,Age=19},
New Kencery{ID=2,Name=”HYL”},
null
};
Person p=new Person{ ID=1,Name=”HYL”,Age=19 };
5.扩展方法
(1)扩展方法是一种特殊的静态方法,它定义在一个静态类中,但可以在其他类的对象上向调用实例方法那样进行调用。因此,通过扩展方法,我们就可以在不修改一个类型的前提下对一个类型进行功能上的扩充,这种方法并不会产生新的类型,而是采用向已有类中加入新方法的方式来完成功能的扩展。
(2)在对已有类进行扩展时,我们需要将所有的扩展方法都写在一个静态类中,这个静态类就相当于存放扩展方法的容器,所有的扩展方法都可以写在这里面。扩展方法与普通方法的声明方式不同,扩展方法的第一个参数以this关键字开始,后面跟被扩展的类型,然后才是真正的参数列表。
public static 返回类型 扩展方法名(this 要扩展的类型 参数名称[,扩展方法参数列表])
{
}
public static int ToInt32(this string s) //扩展方法将字符串转换为整形
{
return Int32.Parse(s);
}
6.Lambda表达式
(1) ”Lambda表达式”是一个匿名函数,他可以包含表达式和语句,可用于创建委托。
(2) 运算符 =>,该运算符读作:”goes to”。
(3) 格式:(input parameters)=>expression
delegate bool DelDemo(int a,int b); //定义委托
DelDemo Lambda=(int a,int b)=>a>b //使用Lambda表达式表示a是否大于b
Console.WriteLine(Lambda(1,4));
7.项目整体框架流程图
(1)上面扯了这么多,其实跟我们今天的博客没什么用,只是一些准备工作,也是复习一下这些知识点,下面我们将新建一个MVC4的程序,如何新建一个MVC4的程序,相信大家都已经会了,然后搭建框架,搭建的框架如图所示:

(2) 然后我们再LYZJ.UserLimitMVC.Model层设计数据库,在里面建立一个空的Edmx模型,如图所示:


(3) 上面我们建立了四个类库和一个MVC4.0的项目,大家仔细看一下,如果大家对这四个类库的作用不太明确的话,我建议大家可以去看看三层的架构,或者在下面给我留言,现在就不往出写了。
(4) 这篇博客到这里就结束了,下篇博客我们开始讲述:使用面对接口编程变成对数据库访问层进行介绍。
Kencery返回本系列开篇
ASP.NET MVC+EF框架+EasyUI实现权限管理系列(1)-框架搭建的更多相关文章
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列
http://www.cnblogs.com/hanyinglong/archive/2013/03/22/2976478.html ASP.NET MVC+EF框架+EasyUI实现权限管理系列之开 ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(21)-用户角色权限基本的实现说明
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(21)-用户角色权限基本的实现说明 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1):框 ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(20)-多条件模糊查询和回收站还原的实现
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(20)-多条件模糊查询和回收站还原的实现 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1):框架 ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(19)-用户信息的修改和浏览
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(19)-用户信息的修改和浏览 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1):框架搭建 ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除)
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除) ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(17)-注册用户功能的细节处理(各种验证)
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(17)-注册用户功能的细节处理(各种验证) ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1):框 ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(16)-类库架构扩展以及DLL文件生成修改和用户的简单添加
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(16)-类库架构扩展以及DLL文件生成修改和用户的简单添加 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(14)-主框架搭建
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(14)-主框架搭建 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1):框架搭建 (2 ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(15)-用户登录详细错误和权限数据库模型设计
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(15)-用户登录详细错误和权限数据库模型设计 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) ...
随机推荐
- mysql监视器MONyog的使用
MONyog是个商业收费软件,可是能够找一下破解版.我用的是4.72破解版 1. 图1.1 在server设置中,如图1.1. 在Sniffer Settings里Enable sniff ...
- 【Web探索之旅】第四部分:Web程序员
内容简介 1.第四部分第一课:什么是Web程序员? 2.第四部分第二课:如何成为Web程序员? 3.第四部分第三课:成为优秀Web程序员的秘诀 第四部分:Web程序员(完结篇) 大家好.终于来到了[W ...
- Android - 数据存储 -在SQL数据库中保存数据
对于重复的或结构化的数据,保存到数据库中是很好的选择,比如联系人信息.这里假设你对SQL数据库大体上了解然后帮助你学习Android上的SQLite数据库.在Android数据库上需要用到的API可以 ...
- Extjs Web Desktop申请书
今天我Web Desktop应用基本完成.多语言支持.现有asp,php,jsp版本号. 废话拍了几张照片让大家有一个直观的了解: watermark/2/text/aHR0cDovL2Jsb2cuY ...
- Chapter 1 Securing Your Server and Network(8):停止未使用的服务
原文:Chapter 1 Securing Your Server and Network(8):停止未使用的服务 原文出处:http://blog.csdn.net/dba_huangzj/arti ...
- SharePoint使用BCS开发你第一个应用程序(三)
SharePoint使用BCS开发你第一个应用程序(三) 创建外部内容类型. 创建外部内容类型有三种不同方式: 1. 在记事本上手写XML代码(不推荐). 2. 使用SharePoin ...
- hdu 3652 B-number(数字dp)
http://acm.hdu.edu.cn/showproblem.php? pid=3652 大致题意:"B-number"即一个整数含有子串"13"且被13 ...
- KindEditor参数具体解释
width 编辑器的宽度.能够设置px或%.比textarea输入框样式表宽度优先度高. 数据类型: String 默认值: textarea输入框的宽度 演示样例: K.create('#id', ...
- (hdu step 7.1.5)Maple trees(凸包的最小半径寻找掩护轮)
称号: Maple trees Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tot ...
- 前端project师的修真秘籍(css、javascript和其他)
以我的经验,大部分技术,熟读下列四类书籍就可以. 入门,用浅显的语言和方式讲述正确的道理和方法,如head first系列 全面,巨细无遗地探讨每一个细节,遇到疑难问题时往往能够在这里得到理论解答,如 ...