`
jilong-liang
  • 浏览: 482495 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类

Asp.Net+ EntityFramework+MVC

    博客分类:
  • C #
阅读更多
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;

namespace UI.Models
{
    /// <summary>
    /// 远程验证
    /// [Remote("CheckEmail", "Register", ErrorMessage = "此邮箱已存在")]
    /// </summary>
    public class User
    {
        public int id { get; set; }

        [DisplayName("姓名")]
        [Required(ErrorMessage = "姓名不能为空")]
        [StringLength(1000, ErrorMessage = "长度在5-1000", MinimumLength = 5)]
        public string UserName { get; set; }

        [Required(ErrorMessage = "密码不能为空")]
        [StringLength(1000, ErrorMessage = "长度在6-20", MinimumLength = 6)]
        public string PassWord { get; set; }

        [Required(ErrorMessage = "地址不能为空")]
        [StringLength(1000, ErrorMessage = "长度在5个字符", MinimumLength = 5)]
        public string Address { get; set; }
    }
}

 

using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using UI.Entity_Framework;
using System.Collections;
using UI.Models;
namespace UI.Controllers
{
    /// <summary>
    /// http://www.jquery001.com/asp.net-mvc3-instance-router-and-multiple-data-model-in-one-view.html
    /// </summary>
    public class UserController : Controller
    {
        UsersEntities entity = new UsersEntities();

         

        public ActionResult User()
        {
            //android.Article,就是通过ObjectSet属性

            //List<Article>
            //var article = android.Article.ToList();

            //使用 Linq 查询
            var result = from a in entity.Users
                          select a;
            //ViewResult//这个View和Spring的ModelAndView差不多.
            return View(result);
            
        }



         
    }
}
 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web; using System.Web.Routing; namespace UI.InterFace { public interface IRouteHandler { IHttpHandler GetHttpHandler(RequestContext requestContext); } }

 

//------------------------------------------------------------------------------
// <auto-generated>
//    此代码是根据模板生成的。
//
//    手动更改此文件可能会导致应用程序中发生异常行为。
//    如果重新生成代码,则将覆盖对此文件的手动更改。
// </auto-generated>
//------------------------------------------------------------------------------

using System;
using System.Data.Objects;
using System.Data.Objects.DataClasses;
using System.Data.EntityClient;
using System.ComponentModel;
using System.Xml.Serialization;
using System.Runtime.Serialization;

[assembly: EdmSchemaAttribute()]

namespace UI.Entity_Framework
{

    #region 上下文
     
    /// <summary>
    /// 没有元数据文档可用。
    /// </summary>
    public partial class UsersEntities : ObjectContext
    {
        //public ObjectSet<Users> _user { get; set; }


        #region 构造函数
    
        /// <summary>
        /// 请使用应用程序配置文件的“UsersEntities”部分中的连接字符串初始化新 UsersEntities 对象。
        /// </summary>
        public UsersEntities() : base("name=UsersEntities", "UsersEntities")
        {
            this.ContextOptions.LazyLoadingEnabled = true;
            OnContextCreated();
        }
    
        /// <summary>
        /// 初始化新的 UsersEntities 对象。
        /// </summary>
        public UsersEntities(string connectionString) : base(connectionString, "UsersEntities")
        {
            this.ContextOptions.LazyLoadingEnabled = true;
            OnContextCreated();
        }
    
        /// <summary>
        /// 初始化新的 UsersEntities 对象。
        /// </summary>
        public UsersEntities(EntityConnection connection) : base(connection, "UsersEntities")
        {
            this.ContextOptions.LazyLoadingEnabled = true;
            OnContextCreated();
        }
    
        #endregion
    
        #region 分部方法
    
        partial void OnContextCreated();
    
        #endregion
    
        #region ObjectSet 属性
    
        /// <summary>
        /// 没有元数据文档可用。
        /// </summary>
        public ObjectSet<Users> Users
        {
            get
            {
                if ((_Users == null))
                {
                    _Users = base.CreateObjectSet<Users>("Users");
                }
                return _Users;
            }
        }
        private ObjectSet<Users> _Users;

        #endregion
        #region AddTo 方法
    
        /// <summary>
        /// 用于向 Users EntitySet 添加新对象的方法,已弃用。请考虑改用关联的 ObjectSet&lt;T&gt; 属性的 .Add 方法。
        /// </summary>
        public void AddToUsers(Users users)
        {
            base.AddObject("Users", users);
        }

        #endregion
    }
    

    #endregion
    
    #region 实体
    
    /// <summary>
    /// 没有元数据文档可用。
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="UsersModel", Name="Users")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class Users : EntityObject
    {
        #region 工厂方法
    
        /// <summary>
        /// 创建新的 Users 对象。
        /// </summary>
        /// <param name="id">Id 属性的初始值。</param>
        /// <param name="passWord">PassWord 属性的初始值。</param>
        public static Users CreateUsers(global::System.Int32 id, global::System.String passWord)
        {
            Users users = new Users();
            users.Id = id;
            users.PassWord = passWord;
            return users;
        }

        #endregion
        #region 基元属性
    
        /// <summary>
        /// 没有元数据文档可用。
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int32 Id
        {
            get
            {
                return _Id;
            }
            set
            {
                if (_Id != value)
                {
                    OnIdChanging(value);
                    ReportPropertyChanging("Id");
                    _Id = StructuralObject.SetValidValue(value);
                    ReportPropertyChanged("Id");
                    OnIdChanged();
                }
            }
        }
        private global::System.Int32 _Id;
        partial void OnIdChanging(global::System.Int32 value);
        partial void OnIdChanged();
    
        /// <summary>
        /// 没有元数据文档可用。
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public global::System.String UserName
        {
            get
            {
                return _UserName;
            }
            set
            {
                OnUserNameChanging(value);
                ReportPropertyChanging("UserName");
                _UserName = StructuralObject.SetValidValue(value, true);
                ReportPropertyChanged("UserName");
                OnUserNameChanged();
            }
        }
        private global::System.String _UserName;
        partial void OnUserNameChanging(global::System.String value);
        partial void OnUserNameChanged();
    
        /// <summary>
        /// 没有元数据文档可用。
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String PassWord
        {
            get
            {
                return _PassWord;
            }
            set
            {
                OnPassWordChanging(value);
                ReportPropertyChanging("PassWord");
                _PassWord = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("PassWord");
                OnPassWordChanged();
            }
        }
        private global::System.String _PassWord;
        partial void OnPassWordChanging(global::System.String value);
        partial void OnPassWordChanged();
    
        /// <summary>
        /// 没有元数据文档可用。
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public global::System.String Address
        {
            get
            {
                return _Address;
            }
            set
            {
                OnAddressChanging(value);
                ReportPropertyChanging("Address");
                _Address = StructuralObject.SetValidValue(value, true);
                ReportPropertyChanged("Address");
                OnAddressChanged();
            }
        }
        private global::System.String _Address;
        partial void OnAddressChanging(global::System.String value);
        partial void OnAddressChanged();

        #endregion
    
    }

    #endregion
    
}

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using UI.Entity_Framework;

namespace UI.Controllers
{
    /// <summary>
    /// <Author>梁继龙</Author>
    /// <Language>C Sharp</Language>
    /// <Description>ASP.NET MVC3+LINQ+Entity FrameWork</Description>
    /// <Date>2012/18</Date>
    /// 一、默认情况下Action上标上重写的ActionAttributeFilter注解后,
    ///     在Controller上也标上注解,但它只有Action上的标签起作用了
    /// 二、我们只需在DemoActionAttributeFilter类的定义上打上标记
    ///    [AttributeUsage(AttributeTargets.All,AllowMultiple = true)]
    ///    这样让其成为可以多次执行的Action
    /// </summary>
    //[IActionFilterAttribute(Message = "IndexController")]
    public class IndexController : Controller
    {
        /// <summary>
        /// 定向
        /// return RedirectPermanent("index");
        /// return RedirectToActionPermanent("index");
        /// return RedirectToRoutePermanent("index");
        /// </summary>
        //创建一个Entity FrameWork对象
        private UsersEntities entities = new UsersEntities();
        //[IActionFilterAttribute(Message = "action")]
        public ActionResult Index()
        {
            //return StartController();
            return FindUser();
        }

        /// <summary>
        /// 开始的MVC3的测试
        /// </summary>
        /// <returns></returns>
        private ActionResult StartController()
        {
            this.ControllerContext.HttpContext.Response.Write(@"<br />Action execute");
            return View();
        }

        /// <summary>
        /// 查询所有用户
        /// </summary>
        /// <returns></returns>
        public ActionResult FindUser()
        {
            //使用 Linq 查询 from in select并不是数据库的SQL关键字
            var result = from u in entities.Users select u;
            //ViewResult
            return View(result);
        }
        /// <summary>
        /// 创建用户
        /// </summary>
        /// <returns></returns>
        [HttpPost]//注解 以post提交
        public ActionResult CreateUser(Users user)
        {
            if (ModelState.IsValid)
            {
                entities.AddObject("User", user);
                //将所有更新保存到数据源并重置对象上下文中的更改跟踪,保存并改变数据库表的状态
                entities.SaveChanges();
                return RedirectToAction("../Index");
            }
            else
            {
                return View(user);
            }
        }

        /// <summary>
        /// 编辑/修改
        /// </summary>
        /// <param name="id"></param>
        /// <param name="collection"></param>
        /// <returns></returns>
       [HttpPost]
        public ActionResult Edit(int id, FormCollection collection)
        {
            try
            {
                var message = entities.Users.Single(edit => edit.Id == id);
                UpdateModel(message);
                entities.SaveChanges();
                return RedirectToAction("Index");//返回到列表
            }
            catch
            {
                return View();
            }
        }
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        [HttpPost]
        public ActionResult Delete(int id)
        {
            try
            {
                var contact = entities.Users.Single(del => del.Id == id);
                entities.DeleteObject(contact);
                entities.SaveChanges();
                return RedirectToAction("../Delete");
            }
            catch (Exception)
            {
                throw;
            }
        }
    }
}

 

using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
using UI.Controllers;

namespace UI
{
    // Note: For instructions on enabling IIS6 or IIS7 classic mode, 
    // visit http://go.microsoft.com/?LinkId=9394801

    public class MvcApplication : System.Web.HttpApplication
    {
        public static void RegisterGlobalFilters(GlobalFilterCollection filters)
        {
            filters.Add(new HandleErrorAttribute());
        }

        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                "Default", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new { controller = "Index", action = "Index", id = UrlParameter.Optional } // Parameter defaults
            );

        }
        /// <summary>
        /// 注册路由
        /// </summary>
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            //GlobalFilters.Filters.Add(new IActionFilterAttribute() { Message = "Gloable" });//配置公共的方法每个Action都执行
            RegisterGlobalFilters(GlobalFilters.Filters);//注册全局过滤
            RegisterRoutes(RouteTable.Routes);//注册路由RouteTable
        }
    }
}

 

@model IEnumerable<UI.Entity_Framework.Users>
@{
    // ViewBag.Title = "Index";
    //在asp mvc的cshtml文件里面的注释为 @**@
}
<h2>
<h1>
    <div align="center">
    <table border=1>
      <tr >
        <td  colspan="4" style="color:red" align=center>
            运行的结果如下
         </td>
       </tr>
      <tr>
       <td  colspan="4" style="color:red">
         ASP.NET MVC3 +FrameWork+Linq
       </td>
      </tr>
     <tr>
        <td>ID</td>
        <td>UserName</td>
        <td>Address</td>
        </tr>
        @foreach (var item in Model)
        {
            <tr>
              <td>@item.Id</td> 
                <td>@item.UserName</td> 
                <td>@item.Address</td>
                <td>
                    @Html.ActionLink("添加", "Create", new { id = item.Id }) |
                    @Html.ActionLink("修改", "Edit", new { id = item.Id }) |
                    @Html.ActionLink("删除", "Delete", new { id = item.Id })
                </td>
            </tr>
        }
        </table>
         <br />
    </div>

 

@model UI.Entity_Framework.Users

<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)
    <fieldset>
        <legend>Users</legend>

        <div class="editor-label">
            @Html.LabelFor(model => model.UserName)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.UserName)
            @Html.ValidationMessageFor(model => model.UserName)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.PassWord)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.PassWord)
            @Html.ValidationMessageFor(model => model.PassWord)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.Address)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Address)
            @Html.ValidationMessageFor(model => model.Address)
        </div>

        <p>
            <input type="submit" value="Create" />
        </p>
    </fieldset>
}

<div>
    @Html.ActionLink("Back to List", "Index")
</div>

 cshtml语法不在多描述,毕竟3年前的例子!现在的asp发展什么程度也不是很清楚,从事java开发之后都没安装过visual_studio去玩过c sharp语言,代码在网盘上面.

 

源代码:链接: http://pan.baidu.com/s/1bnUPxSj 密码: 9775



 

 

 

  • 大小: 44.9 KB
  • 大小: 55.3 KB
  • 大小: 78.2 KB
0
1
分享到:
评论

相关推荐

    asp.net+spring.net+entity framework 的一个简单例子

    在IT行业中,构建Web应用程序是一项常见的任务,而`ASP.NET`、`Spring.NET`和`Entity Framework`是三个强大的工具,常被用于构建高效、可扩展的后端系统。在这个简单例子中,我们将探讨如何结合这三个框架来创建一个...

    ASP.NET MVC+EntityFramework项目实例

    ASP.NET MVC+EntityFramework项目实例,功能 页面登录,分页,用户添加,编辑以及关键词查询等

    asp.net+wcf+entity framework

    ASP.NET、WCF(Windows Communication Foundation)和Entity Framework是微软.NET框架下的三个核心技术,用于构建分布式企业级应用程序。在本文中,我们将深入探讨这三个组件以及它们如何协同工作。 **ASP.NET** ...

    [ASP.NET MVC] ASP.NET MVC with Entity Framework and CSS (英文版)

    [Apress] ASP.NET MVC with Entity Framework and CSS (英文版) [Apress] ASP.NET MVC with Entity Framework and CSS (E-Book) ☆ 图书概要:☆ This book will teach readers how to build and deploy a fully ...

    开源:ASP.NET MVC+EF6+Bootstrap开发框架

    这些系统的共同特点是需要处理大量数据,进行复杂的业务逻辑运算,并且需要良好的用户体验,ASP.NET MVC+EF6+Bootstrap的组合能够满足这些需求,提供高效、可扩展和用户友好的解决方案。 总结来说,"开源:ASP.NET ...

    ASP.NET MVC Entity Framework

    在ASP.NET MVC中,通常使用Entity Framework(EF)作为ORM(对象关系映射)工具来与数据库进行交互。Entity Framework允许开发者通过面向对象的方式操作数据库,而无需编写SQL语句,极大地提高了开发效率。 Entity ...

    ASP.NET MVC with Entity Framework and CSS

    ASP.NET MVC with Entity Framework and CSS by Lee Naylor 2016 | ISBN: 1484221362 | English | 608 pages | True PDF | 30 MB This book will teach readers how to build and deploy a fully working example ...

    基于ASP.NET+MVC的三层架构博客网站系统源码2.zip

    【标题】中的“基于ASP.NET+MVC的三层架构博客网站系统源码2.zip”表明这是一个使用ASP.NET框架,结合MVC(Model-View-Controller)设计模式开发的三层架构的博客网站系统的源代码包。三层架构是一种常见的软件设计...

    最新ASP.NET+SQL Server项目

    SQL Server与ASP.NET结合,可以实现高效的数据库操作,如CRUD(创建、读取、更新和删除)操作,通过ADO.NET或Entity Framework进行数据访问。 在这个“最新ASP.NET+SQL Server项目”中,我们可以学习到以下关键知识...

    ASP.NET+MVC5+EF6+EasyUI源码(完整版)

    ASP.NET、MVC5、Entity Framework 6 (EF6) 和 EasyUI 是现代Web应用程序开发中的四个关键组件,尤其在企业级应用中广泛使用。这个完整的源码包提供了使用这些技术构建的示例项目,有助于开发者理解和学习如何将它们...

    一套通用的Easyui+asp.net mvc开发框架源码

    asp.net MVC5框架通常与Entity Framework集成,允许开发者通过简单的代码进行数据库操作。结合Easyui,开发者可以快速构建出具有强大后台逻辑和美观前台界面的Web应用。 在开发过程中,asp.net MVC5提供了一套完整...

    ASP.NET+MVC+创建用户权限管理范例程序源码

    【ASP.NET + MVC 创建用户权限管理范例程序源码】是一个基于Microsoft的ASP.NET框架和MVC(Model-View-Controller)设计模式的项目,旨在提供一个完整的用户权限管理系统。这个系统可以帮助开发者实现对用户角色的...

    bootstrap+asp.net core+entity framework学习之范例

    在"bootstrap+asp.net core+entity framework"的学习范例中,你将接触到如何将这个强大的前端框架与微软的最新Web开发平台ASP.NET Core以及ORM(对象关系映射)工具Entity Framework相结合,构建高效、现代的Web应用...

    基于ASP.NET+easyui管理系统源码(含数据库以及 统计图功能).rar

    ASP.NET是由微软公司推出的用于构建Web应用程序的开发框架,它基于.NET Framework,提供了丰富的服务器控件、事件驱动模型以及强大的开发工具支持。ASP.NET的核心优势在于其高效、安全和易于维护的特性,使得开发者...

    asp.net+mvc+ef+ioc多语言通用后台框架

    总结来说,这个压缩包提供了一个基于ASP.NET MVC、Entity Framework和IoC的多语言后台框架,包含了完整的解决方案、测试项目、各层次的代码组织,以及可能的插件支持,方便开发者快速构建和扩展管理型Web应用。

    最新版ASP.NET MVC5+EF6后台管理系统 Ymnets快速开发框架源码 带工作流

    ASP.NET MVC5+Entity Framework 6(EF6)是一个强大的开发框架,用于构建高效、可扩展的Web应用程序。Ymnets快速开发框架是基于这些技术的后台管理系统,它旨在简化开发过程,提供工作流支持,并包含部署文档和数据...

    ASP.NET+MVC+5+网站开发之美(书+代码).zip

    在ASP.NET MVC中,模型通常由Entity Framework或其他ORM工具管理,用于处理数据库交互。 3. **View**:视图负责呈现用户界面。视图从控制器接收数据并将其格式化为用户友好的输出。视图通常基于 Razor 视图引擎创建...

    asp.net mvc+ef+easyui简易框架

    总结来说,"asp.net mvc+ef+easyui简易框架"是一个使用ASP.NET MVC作为后端框架,Entity Framework处理数据持久化,EasyUI构建前端UI的Web应用示例。开发人员可以通过这个项目学习如何将这些技术有效地整合在一起,...

    ASP.NET+MVC网站编程案例精解

    ASP.NET MVC是一个强大的框架,用于构建可扩展、高性能的Web应用程序。这个框架是Microsoft开发的,它是.NET Framework的一部分,提供了一种模型-视图-控制器(MVC)的设计模式,帮助开发者实现清晰的代码结构,使得...

Global site tag (gtag.js) - Google Analytics