基于.net mvc的校友录 二、实体模型设计

前言

已经回学校好多天了,同学们也陆陆续续地来了,多数人已经拿到了自己的毕业设计了,我看着自己的一堆设计资料,却还没有多少东西能给人看的,心里是一阵阵的焦急啊。不过,咱是后期,就老老实实地慢慢farm,总会完成的。这段时间,我把我所能用到的功能(包括权限控制、登陆检测、保存密码等等)在.net mvc4中的实现找了一遍,并且都测试了一遍,怕的是以后做的过程中被卡,就难受了,先探路,后过兵。虽然过程是痛苦的,中间包括cookies在controller中的删除,最是令人心烦,再加上filter在中间插来插去,不过,终于是被我理清楚了。现在网站是一个小的demo,后台的模型也设计好了,包括code first总是会出现的数据库迁移问题,也一并解决了(这个问题网上也有人遇见过,不过他们的方法貌似只解少数情况,反正我的问题是没有解决,后来在一位大哥的博客上面看到了,试着可以,就写在我的代码里面)。关于cookies登陆的问题,这个涉及到了controller的return之后的跳转机制,网上有好多人说跳转控制器或者是页面发现session丢失,这些问题,我也都出现过,也都解决了,这里要谢谢clarkhan,他上班的时候,我一个电话过去,花废了他一个小时的时间,来讨论这个问题,最归还是解决了,就是不知道他有没有被批~~

关于权限控制,一开始我没想用filter,因为在filter中好多实用的方法无法使用,比如删除cookies,我不喜欢一次写个n行,想封装它,所以就想写一个父controller类,里面集成一些工具方法,并对其它的方法进行控制,也能很好的达到权限控制的效果,并且逻辑更加清楚。但是,右击生成控制器的时候,vs总是给我默认继承controller,这个让我每次都修改,非常不爽,我们都是懒人一族,所以,我将这个想法扼杀在了摇篮之中。

上面说的那些问题,已经总结了,现在就先不发上来了,因为是写在demo上的,那个并不是我的真正网站,只是在我的网站架子上的试验,等我的正式网站上面用到了,我再拿出来说一下。

今天先把我设计的model放出来,只放出了数据库模型部布,其它的辅助model,比如LoginModel、ReginModel等,因为不知道具体会有多少,以后会与用到它们的页面一起发出来。

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/net/

图片的存储是一个问题,我想了好久,本来想把头像的图片,与相册的图片,抽出来放在同一个表中的,后来一想,没必要,那样虽然显得专业,但是逻辑会变得复杂,所以,我就直接把头像放在UserInfo里面了,直接保存图片地址。Photo也是,里面直接保存图片地址。people的地方要说明一下,people是我在进行e-r图设计的时候,使用的,后来生成AlumniBook模型的时候,将它拆分成了User与UserInfo两个模型,至于为什么。。。我只能说,为了好看吧,我老觉得把登陆信息与个人资料信息拆分开比较有安全感(难道我潜意识里面有把UserInfo做为视图模型暴露出来的冲动?不知道~~)。

对了,这次网站我不打算用太多太强的第三方UI插件了,就只用JqueryUI了。然后,ajax这种东西也尽量少用,多用view model来传递数据(响应微软号召---让数据都拥有意义)。

原地址:http://www.cnblogs.com/ensleep/tag/%E5%9F%BA%E4%BA%8E.net%20mvc%E7%9A%84%E6%A0%A1%E5%8F%8B%E5%BD%95/

时间: 2024-08-20 21:47:58

基于.net mvc的校友录 二、实体模型设计的相关文章

基于.net mvc的校友录 四、系统结构图

这是整个系统结构的预览,话不多说,给个图: 本网站努力为每个人提供一个有效的校友录系统,为参与者提供一个简单有效的交流互动的平台,操作上要求简单.高效,性能上要求稳定.可扩展.在对同类网站系统进行了调查之后,通过重新设计,为网站使用者提供了如下的功能操作:管理员可以管理用户.用户可以搜索班级加入班级,进入班级后可以创建相册上传照片,可以留言发表评论,可以查看别人的通讯录发送小纸条,对于自己的上传的照片.相册可以进行删除操作,也可以退出班级,也可以删除自己的留言. 为了满足上面提出的功能需求,本网

基于.net mvc的校友录 三、实体模型实现

由于是实际开发,而且是时间比较紧的,所以,在开发实现过程中,总有一些对原计划的改动: AlumniBookModel数据库实体模型 这是主数据实体类,EF会根据此实体生成数据库,它的每一个成员都是DbSet类型,这是数据集类型,也就是内存中的表,数据库AlumniBookModel中共有九张表,它们的名字分别是成员的名字,但是,若是打开数据库,就会发现,它们的表名是这些成员名的复数,而这个机制,开篇已经有讲过,这里不再多说.再来看一下它的构造函数: public class AlumniBook

基于.net mvc的校友录 开篇

这系列的博客是作为我做毕业设计的记录来弄的.因为现在的工作是嵌入式,所以,而.net在学校没有学过,更别说mvc或者是EF的codefirst了,所以,都是自学来了,都是一家之解,有不当之处,大家多提宝贵议见. 园子里的兄弟们,我这是记录而不是教程哦,请和我一样的新手看到我的文章后斟酌而行,万不可随意模仿. 好了,下面我们开始. 使用的技术: 这是毕业设计,多数人都是买来的或者是改来的,因为一个人做一个大型的网站,还是我们这样的二本底下的学校,加上还要上班,时间非常少.但是,我想做的一个原因是微

基于.net mvc的校友录五 web.config对的配置以及filter实现的权限控制

web.config配置文件 此文件是整个系统的配置中心,它告诉iis服务器本网站需要哪些运行时环境,需要哪些环境,将要进行哪些操作,开发人员也会将一个常量性的数据放在此配置中,以备系统全局调用.此文件内容丰富,对于一些普适性的项目,不作说明,只针对本系统的配置作相应说明. web.config配置文件 web.config是xml格式的文件,它是一种结构性文档,可以通过结点对数据进行遍历.第一行<?xml version="1.0" encoding="utf-8&q

基于.net mvc的校友录 七 文件上传以及多对多关系表的LINQ查询实现

图片的上传与调用 图片的上传就是文件的上传,在前台使用的是type="file"的input,但是,要将表单声明为multipart/form-data模式,方法是在BeginForm中这样写:@using (Html.BeginForm("ToCreate", "Class",FormMethod.Post, new { enctype = "multipart/form-data" })),用对象的形式将enctype的类

基于.net mvc的校友录 六、codefirst的使用以及班级模块的关键部分实现

通过EF将新用户存入数据库 这里,探讨一下如何使用EF的code first将数据存入数据库,以及如何对用户的密码进行md5加密与验证.下面是用户登陆的前台代码. @using (Html.BeginForm("ToLogin", "Log")) {    @Html.AntiForgeryToken()    @Html.ValidationSummary(true) <div> <div>    <section id="

基于.net mvc的校友录 一、前台需求设计

之前已经想过好多个版本,但是,最终定在这下面这个版本上面,因为我觉得实现起来前台的模块比较固定,浮动的元素也少,因为我是那种万事用div的DS,所以,对于绝对定位相对定位,父定位,一向很DT,这种类metro的风格很方便我来实现前台,而且好看,即使不好看,也可以跟老师说,我这是为响应新元素新风格--metro!(所说不叫这名字了,这货被告了). 好了,下面进入正题,因为这是我昨天晚上加今天空余时间做的东西,多数是设计,刚刚用一会儿时间才做成图片,给供大家评指.所以,大家看的时候,用手机的同学注意

ASP.NET MVC 权限管理(二) 实体模型设计

上一篇文章写了关于项目的基本开发组织和项目用到的一些东西,这篇文章就开始设计实体模型了,好了,废话不多说. 一.实体模型基类 因为每个模型实体都需要有一个编号,状态这些基本的东西,为了遵守MVC的"不要重复自己"的原则,共有的东西就写到一个公共类去,以前开发我都是用自增的Int作为主键,这一次呢就打算试用一下GUID作为数据库的主键编号,要是有不懂的地方,大家赶紧指出来啊~~ 有码有真相: /// <summary> /// 模型基类 /// </summary>

我们班的校友录很炫(上)

ChinaRen班级宣言限制了200字, 但是它允许直接使用HTML语句,这就意味着我们可以通过特效HTML语句来让我们的班级宣言炫起来.步骤很简单:只要把HTML特效代码内容粘贴到宣言编辑框内,保存后即可.而HTML语句代码才是问题的所在!不懂任何HTML语句的也不要紧,看完本文,你们班级的校友录一样能炫起来! 一.嵌入网页 基本代码: <Iframe border=0 src="url" frameBorder=0 w idth=440 scrolling=no height