宝哥软件园

ASP.NET mvcef框架易用户实现权限管理系列

编辑:宝哥软件园 来源:互联网 时间:2021-09-09

在本文的开头,我们将逐步实现这个权限系统的初步设计框架构建。首先,我想说我们需要开发工具Visual Studio 2012或10。其次,我们需要SQL Server数据库。如果是Visual Studio 2010,还需要安装MVC4的开发文件。这样对吗?我不记得了。谁能回答我?我一直在用2012。它们都是集成的,所以我不确定。因为这个博客比较简单,只是搭建一个简单的架构,所以我就顺便补充一下MVC的知识,我也会这样介绍项目中遇到的技术,然后开始今天的旅程。

1.自动属性

(1) Auto-Implemented Properties,C#自动属性可以避免原来手工声明一个私有成员变量和编写属性get和set。

复制代码如下:公共类Kencery //声明了一个Kencery类{ public int ID { get设置;}//主键ID公共字符串Name { get私有集;}//只读属性名public int Age { get设置;}//年龄}

2.隐式类型var

(1)现在你可以在越来越多的项目中看到var。这是什么意思?事实上,这是C#3.0新特性提供的隐士类型var。var关键字指示编译器根据初始化语句右侧的表达式来推断变量的类型。

副本代码如下: var Kencery=“大家晚上好”;//定义变量var list=new Listint();//定义一个List集合varkencery=new {id=1,name="hyl ",age=24 }//对象初始化定义的类型vargenerics=from n in store contract。产品目录,其中n. issystem==false选择n;返回视图(泛型);

//Linq的使用,后面我们会用到很多,你可以自学没有学过的东西。

(2) var有这么大的功能,那么它的缺点是什么呢?让我们在这里大致列出它们

1) var只能在同一个语句中声明和初始化局部变量时使用,变量不能初始化为null、方法组或匿名方法。

2) var不能在类范围的域中使用。

var声明的变量不能在初始化表达式中使用,换句话说,这个表达式是合法的:int I=(I=20);但是下面的表达式会产生编译错误:var i=(i=20)。

4)多个隐式类型变量不能在同一个语句中初始化。

5)如果作用域中有一个名为var的类型,var关键字将被解析为类型名,并且不会被视为隐式类型局部变量声明的一部分。

3.匿名类

(1)将一组只读属性封装到单个对象中,而无需首先显示和定义类型。类型名由编译器生成,不能在源代码级别使用。每个属性的类型由编译器推断。[var]

(2)用于初始化属性的表达式不能为空、匿名函数或指针类型。

var Kencery=new{ID=1,Name="HYL ",Age=24}

4.对象初始化器和集合初始化器

(1)对象初始化器使用编译器按顺序给对象中的外部可见字段或属性赋值。编译或隐式调用构造函数时,对字段或属性的赋值可以是一个或多个。

复制代码如下: listencery Kencery=New listencery {//Kencery类New Kencery {ID=1,Name="韩影龙",Age=19},New Kencery {ID=2,Name="Hyl"},null };人物p=新人{ ID=1,Name="HYL ",年龄=19 };

5.扩展方法

(1) extension method是一种特殊的静态方法,它是在静态类中定义的,但是可以像调用实例方法一样在其他类的对象上调用。因此,通过扩展方法,我们可以在不修改类型的情况下扩展类型的功能。这个方法不会产生新的类型,而是向现有的类添加新的方法来完成函数扩展。

(2)扩展一个已有类时,我们需要把所有的扩展方法都写在一个静态类中,相当于一个存放扩展方法的容器,所有的扩展方法都可以写在里面。可拓方法的声明方法不同于普通方法。扩展方法的第一个参数从这个关键字开始,然后是扩展类型,然后是真实的参数列表。

复制代码如下: public static返回类型扩展方法名(这是要扩展的类型参数名[,扩展方法参数列表]){ } public static int to t32(此字符串s)//扩展方法将字符串转换为shaping {return Int32。解析;}

6.表达式

(1)“lambda expression”是一个匿名函数,它可以包含表达式和语句,可以用来创建委托。

(2)运算符=,内容为:“前往”。

(3)格式:(输入参数)=表达式

委托bool DelDemo(int a,int b);//定义委托

DelDemo Lambda=(int a,int b)=ab //使用Lambda表达式指示A是否大于b。

控制台。WriteLine(Lambda(1,4));

7.项目总体框架流程图

(1)今天用我们的博客来谈也没用。这只是一些准备工作,也是对这些知识点的复习。现在我们将构建一个新的MVC4程序,以及如何构建一个新的MVC4程序,相信大家都已经知道了,然后构建一个框架,如图:

(2)在此基础上,设计了物流配送中心的数据库。模型层,并在其中构建一个空的Edmx模型,如图所示:

(3)我们已经在上面构建了四个类库和一个MVC4.0项目。请仔细看看。如果你不清楚这四个类库的功能,我建议你可以看看三层架构,或者在下面给我留言,现在不要写出来。

(4)这个博客在这里。在下一篇博客中,我们开始讨论:使用面对面的界面编程变成了引入数据库访问层。

更多资讯
游戏推荐
更多+