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,都是集成好的,所以不太清楚。
原文: 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返回本系列开篇

  

 

目录
相关文章
|
1月前
|
设计模式 开发框架 JavaScript
基于.NET8 + Vue/UniApp前后端分离的快速开发框架,开箱即用!
基于.NET8 + Vue/UniApp前后端分离的快速开发框架,开箱即用!
|
2月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
159 3
|
11天前
|
消息中间件 开发框架 监控
NET任务调度框架Hangfire使用指南
Hangfire 是一个用于 .NET 应用程序的开源任务调度框架,支持长时间运行任务、定时任务等。通过简单的安装配置,即可将任务从主线程分离,提升应用性能。支持多种数据库,提供丰富的任务类型如立即执行、延迟执行和周期性任务,并有可视化管理界面 Hangfire Dashboard。还支持安全性配置及扩展插件,如 Hangfire.HttpJob,适合各种复杂场景下的任务调度需求。
36 1
NET任务调度框架Hangfire使用指南
|
1月前
|
开发框架 安全 .NET
在数字化时代,.NET 技术凭借跨平台兼容性、丰富的开发工具和框架、高效的性能及强大的安全稳定性,成为软件开发的重要支柱
在数字化时代,.NET 技术凭借跨平台兼容性、丰富的开发工具和框架、高效的性能及强大的安全稳定性,成为软件开发的重要支柱。它不仅加速了应用开发进程,提升了开发质量和可靠性,还促进了创新和业务发展,培养了专业人才和技术社区,为软件开发和数字化转型做出了重要贡献。
24 5
|
1月前
|
传感器 人工智能 供应链
.NET开发技术在数字化时代的创新作用,从高效的开发环境、强大的性能表现、丰富的库和框架资源等方面揭示了其关键优势。
本文深入探讨了.NET开发技术在数字化时代的创新作用,从高效的开发环境、强大的性能表现、丰富的库和框架资源等方面揭示了其关键优势。通过企业级应用、Web应用及移动应用的创新案例,展示了.NET在各领域的广泛应用和巨大潜力。展望未来,.NET将与新兴技术深度融合,拓展跨平台开发,推动云原生应用发展,持续创新。
32 4
|
1月前
|
开发框架 .NET C#
.NET 技术凭借高效开发环境、强大框架支持及跨平台特性,在软件开发中占据重要地位
.NET 技术凭借高效开发环境、强大框架支持及跨平台特性,在软件开发中占据重要地位。从企业应用到电子商务,再到移动开发,.NET 均展现出卓越性能,助力开发者提升效率与项目质量,推动行业持续发展。
29 4
|
1月前
|
消息中间件 监控 数据可视化
基于.NET开源、功能强大且灵活的工作流引擎框架
基于.NET开源、功能强大且灵活的工作流引擎框架
|
1月前
|
开发框架 网络协议 .NET
C#/.NET/.NET Core优秀项目和框架2024年10月简报
C#/.NET/.NET Core优秀项目和框架2024年10月简报
|
1月前
|
网络协议 Unix Linux
精选2款C#/.NET开源且功能强大的网络通信框架
精选2款C#/.NET开源且功能强大的网络通信框架
|
1月前
|
开发框架 JavaScript 前端开发
2024年全面且功能强大的.NET快速开发框架推荐,效率提升利器!
2024年全面且功能强大的.NET快速开发框架推荐,效率提升利器!

相关实验场景

更多
下一篇
DataWorks