zoukankan      html  css  js  c++  java
  • MVC5+EF6之EF CRUD

     一、数据查询
    EF数据查询用LINQ实现(LINQ to Entities),通常有表达式和函数式两种方式。最常用的是函数式方式。
    定义好了的context:
    private AccountContext db=new AccountContext();
    基本查询:
    var users=from u in db.SysUsers
    select u;
    users=db.SysUsers;
    条件查询:
    var users=from u in db.SysUsers
    where u.UserName=="Tom"(查询条件)
    select u;
    users=db.SysUsers.Where(u=>u.UserName=="Tom");(=>前面的是参数,后面的是函数体。)
    排行和分页:
    users = (from u in db.SysUsers
        orderby u.UserName
        select u).Skip(0).Take(5); //表达式方式
        users = db.SysUsers.OrderBy(u => u.UserName).Skip(0).Take(5);
    聚合查询:
            var num = db.SysUsers.Count();
        var minId  = db.SysUsers.Min(u => u.ID);(最小值)
                  var maxId = db.SysUsers.Max(u => u.ID);(最大值)
    连接查询:
            var users = from ur in db. SysUserRoles
         join u in db. SysUsers
         on ur.SysUserID equals u.ID
           select ur;
    连接查询返回的结果是一个类型为SysUserRoles的集合
    如果有多张表需要连接,需要用到navigation property(导航属性)来实现
    二、数据库的更新、增加以及删除
    1.创建视图
    打开 AccountController,模仿着Index,添加Delete(删除)、Edit(更新)、Create(创建)、Details(查询详细信息)
    然后写出所需的方法来实现各个功能
    2.修改视图
    (1)每个视图顶部都必须增加强类型声明
    (2)添加每个视图需要现实的数据(需要添加一个Table)
    (3)Index.cshtml中开头需要增加Create链接,table每条记录后面增加Edit,Delete链接。
    eg:添加Edit链接( @Html.ActionLink("Edit", "Edit", new { id = item.ID }) )
    3.HtmlHelper
    HtmlHelper是可以通过View的Html属性调用的方法(@Html.xxx), 可以类比成原来WebForm的服务器端控件。
    DisplayNameFor (model=>model.xxx) 生成纯文本,显示xxx列名
    DisplayFor (model=>model.xxx) 生成纯文本,显示xxx列的内容
    LableFor  生成一个Lable标签
    EditorFor 生成一个text类型的input
    PasswordFor 类似于EditorFor, 隐藏文本内容
    ActionLink 生成一个<a>标签
    BeginForm  生成一个表单
    三、Repository Pattern(仓库模式)
    Repository Pattern是一种设计模式
    具体的做法:先定义Interface, 通过定义接口确定数据访问类的功能需求, 接着实现该接口。以对SysUser这张表的操作为例。
    1.建一个文件夹 Repositories,
    2.在文件夹中新建一个接口IsysUserRepository
    3.同样文件夹下新建类(SysUserRepository),继承接口,实现功能。
    通过IsysUserRepository接口对象引用SysUserRepository类的实例来调用:
      ISysUserRepository ur=new SysUserRepository();
       var user=ur.xxx; 

  • 相关阅读:
    魅族note手机 图片打马赛克
    魅蓝note手机一键root
    eclipse启动时return code 13
    Eclipse adt 23中运行百度地图官网上的demo出现fatal错误
    windows上部署svn服务器
    windows下jenkins slave 搭建
    图片懒加载
    tomcat7 设置静态资源的expires过期时间
    如何将不带www的根域名301重定向到带www的主域名
    简单的防止图片另存为
  • 原文地址:https://www.cnblogs.com/xue-er/p/7698930.html
Copyright © 2011-2022 走看看