EF

1)简单查询

后台代码

 using MvcApplication18.Models;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.Mvc; namespace MvcApplication18.Controllers
{
public class HomeController : Controller
{
//
// GET: /Home/
appDBEntities db = new appDBEntities();
public ActionResult Index()
{
SqlParameter[] parameter = { };
List<SecondHand_info> list = db.Database.SqlQuery<SecondHand_info>("select * from SecondHand_info where SecondHand_keyID >88", parameter).ToList();
ViewData["list"] = list;
return View();
} }
}

前台代码

 @model MvcApplication18.Models.SecondHand_info
@using MvcApplication18.Models
@{
ViewBag.Title = "Index";
} @foreach (SecondHand_info item in ViewData["list"] as List<SecondHand_info>)
{
<p>@item.SecondHand_keyID </p>
<p>@item.SecondHand_mobile </p>
<p>@item.SecondHand_title </p>
<p>@item.SecondHand_context </p> }

2)带参数查询

后台代码

 using MvcApplication18.Models;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.Mvc; namespace MvcApplication18.Controllers
{
public class HomeController : Controller
{
//
// GET: /Home/
appDBEntities db = new appDBEntities();
public ActionResult Index()
{
var id = "";
var mobile = "";
var sql = "select * from SecondHand_info where SecondHand_keyID =@id and SecondHand_mobile=@mobile";
List<SecondHand_info> list= db.Database.SqlQuery<SecondHand_info>(
sql,
new SqlParameter("@id",id),
new SqlParameter("@mobile",mobile) ).ToList();
db.SaveChanges();
ViewData["list"] = list;
return View();
} }
}

前台代码

 @model MvcApplication18.Models.SecondHand_info
@using MvcApplication18.Models
@{
ViewBag.Title = "Index";
} @foreach (SecondHand_info item in ViewData["list"] as List<SecondHand_info>)
{
<p>@item.SecondHand_keyID </p>
<p>@item.SecondHand_mobile </p>
<p>@item.SecondHand_title </p>
<p>@item.SecondHand_context </p> }
<h2>Index</h2>

3)修改

后台代码

using MvcApplication18.Models;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.Mvc; namespace MvcApplication18.Controllers
{
public class HomeController : Controller
{
//
// GET: /Home/
appDBEntities db = new appDBEntities();
public ActionResult Index()
{ //修改
List<SecondHand_info> list = db.Set<SecondHand_info>().SqlQuery("select * from SecondHand_info where SecondHand_keyID =88").ToList();
list.Last().SecondHand_mobile = "";//把SecondHand_keyID =88 的手机号改为18017848011
db.SaveChanges();
ViewData["list"] = list;
return View();
} }
}

前台代码

 @model MvcApplication18.Models.SecondHand_info
@using MvcApplication18.Models
@{
ViewBag.Title = "Index";
} @foreach (SecondHand_info item in ViewData["list"] as List<SecondHand_info>)
{
<p>@item.SecondHand_keyID </p>
<p>@item.SecondHand_mobile </p>
<p>@item.SecondHand_title </p>
<p>@item.SecondHand_context </p> }

4)带参数的存储过程(所以字段都要列出不然会出现问题)

 create proc P_QuerybyId_secondhand
@SecondHand_keyID int
as
begin
select SecondHand_keyID, SecondHand_mobile, SecondHand_title, SecondHand_new, SecondHand_type, SecondHand_money, SecondHand_context, SecondHand_pic1, SecondHand_pic2, SecondHand_pic3, SecondHand_pic4, SecondHand_pic5, SecondHand_pic, SecondHand_time, Memo FROM SecondHand_info where SecondHand_keyID=@SecondHand_keyID
end
 using MvcApplication18.Models;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.Mvc; namespace MvcApplication18.Controllers
{
public class HomeController : Controller
{
//
// GET: /Home/
appDBEntities db = new appDBEntities();
public ActionResult Index()
{ var param = new SqlParameter("SecondHand_keyID", );
List<SecondHand_info> list = db.Database.SqlQuery<SecondHand_info>("P_QuerybyId_secondhand @SecondHand_keyID", param).ToList();
db.SaveChanges();
ViewData["list"] = list;
return View();
} }
}
 @model MvcApplication18.Models.SecondHand_info
@using MvcApplication18.Models
@{
ViewBag.Title = "Index";
} @foreach (SecondHand_info item in ViewData["list"] as List<SecondHand_info>)
{
<p>@item.SecondHand_keyID </p>
<p>@item.SecondHand_mobile </p>
<p>@item.SecondHand_title </p>
<p>@item.SecondHand_context </p> }
<h2>Index</h2>

5)带输出参数的存储过程

 CREATE PROCEDURE [dbo].[Myproc]
@Name NVARCHAR(max),
@PageIndex int,
@PageSize INT,
@TotalCount int OUTPUT
as declare @startRow int
declare @endRow int set @startRow = (@PageIndex - 1) * @PageSize + 1
set @endRow = @startRow + @PageSize - 1 select *
FROM
(
select top (@endRow)
ID,
Age,
Name,
row_number() over(order by [ID] desc) as [RowIndex]
from dbo.Student
) as T
where [RowIndex] >= @startRow AND T.Name = @Name SET @TotalCount=(select count(1) as N
FROM dbo.Student WHERE Name = @Name)
 var name = new SqlParameter { ParameterName = "Name", Value = Name };
var currentpage = new SqlParameter { ParameterName = "PageIndex", Value = currentPage };
var pagesize = new SqlParameter { ParameterName = "PageSize", Value = pageSize };
var totalcount = new SqlParameter { ParameterName = "TotalCount", Value = , Direction = ParameterDirection.Output }; var list = ctx.Database.SqlQuery<Student>("Myproc @Name, @PageIndex, @PageSize, @TotalCount output",
name, currentpage, pagesize, totalcount); totalCount = (int)totalcount.Value; /*获得要输出参数totalcount的值*/

MVC 中使用EF的更多相关文章

  1. MVC中使用EF(2):实现基本的CRUD功能

    MVC中使用EF(2):实现基本的CRUD功能 By  Tom Dykstra |July 30, 2013 Translated by litdwg   Contoso University示例网站 ...

  2. MVC中使用EF(1):为ASP.NET MVC程序创建Entity Framework数据模型

    为ASP.NET MVC程序创建Entity Framework数据模型 (1 of 10) By  Tom Dykstra |July 30, 2013 Translated by litdwg   ...

  3. .NET Core2.0 MVC中使用EF访问数据

    使用环境:Win7+VS2017 一.新建一个.NET Core2.0的MVC项目 二.使用Nuget添加EF的依赖 输入命令:Install-Package Microsoft.EntityFram ...

  4. MVC中使用EF增删改查,简单的例子

    //这个是分页数据和总页数类 public class SummaryBase<TModel> { public SummaryBase(); public IList<TModel ...

  5. MVC中使用EF+MySQL

    最近一段时间,想在EF中使用MySQL,于是就进行了测试. 我的环境是VS2013+EF6+MySQL5.7.4 首先要下载MySQL For VisualStudio 1.1.4.Connector ...

  6. MVC中使用EF的技巧集

    1.从数据库生成模型后,再次更新模型时,之前设置的验证规则会丢失. 解决方法:在Models文件夹中新建一个空白类,把它命名为shujuyanzh.cs(类名可以自定),然后把Models中自动生成的 ...

  7. MVC中使用EF:排序,过滤,分页

    原文链接:http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/sorting-filtering-and-paging ...

  8. MVC中使用EF的技巧集(一)

    一.建好数据库后,向项目中添加数据模型. 1.右键点击“Models” 文件夹,选择“添加”,再选择“添加新项”. 2.在“添加新项”窗口,选择左边的“数据”,然后再在右边选择“ADO.NET 实体数 ...

  9. MVC中使用EF的技巧集(二)——分部验证

    1.从数据库生成模型后,再次更新模型时,之前设置的验证规则会丢失. 解决方法:在Models文件夹中新建一个空白类,把它命名为shujuyanzh.cs(类名可以自定),然后把Models中自动生成的 ...

随机推荐

  1. C# 问题解决思路--《数组bytes未定义》,ASP.NET页面加载顺序

    好久没写博客了,废话不多说,直接说问题. 问题发生情况,首先这个是老项目,然后我是第一次修改.当我解决了各种引用,数据库配置之后等类似的问题,我启动的项目的时候,无任何问题,但是当我点击页面的按钮的时 ...

  2. centos每天一句命令

    shutdown -h now 立刻关机  后面可以加上关键的时间  -r 重启 reboot 重启  同时记载以下,仅仅给刚刚接触的新手来说的  按两次tab 键会自动命令 cd 到目录下 su r ...

  3. C++之路进阶——codevs4655(序列终结者)

    4655 序列终结者  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 大师 Master      题目描述 Description 网上有许多题,就是给定一个序列,要你支持几 ...

  4. 要心中有“数”——C语言初学者代码中的常见错误与瑕疵(8)

    在 C语言初学者代码中的常见错误与瑕疵(7) 中,我给出的重构代码中存在BUG.这个BUG是在飞鸟_Asuka网友指出“是不是时间复杂度比较大”,并说他“第一眼看到我就想把它当成一个数学问题来做”之后 ...

  5. UITableView(转)

    一.UITableView概述 UITableView继承自UIScrollView,可以表现为Plain和Grouped两种风格,分别如下图所示:          其中左边的是Plain风格的,右 ...

  6. javax.transaction.xa.XAException: java.sql.SQLException: 无法创建 XA 控制连接。(SQL 2000,SQL2005,SQL2008)

    javax.transaction.xa.XAException: java.sql.SQLException:无法创建 XA 控制连接.错误: 未能找到存储过程'master..xp_sqljdbc ...

  7. Delphi 的各版本定义,用于预编译参数中,避免忘记备忘之

    DELPHI的版本宏: VER80 - Delphi 1 VER90 - Delphi 2 VER100 - Delphi 3 VER120 - Delphi 4 VER130 - Delphi 5 ...

  8. flex 右键连接

    var menuItem:ContextMenuItem = new ContextMenuItem("技术支持:中科天宇软件有限公司", true, true); menuIte ...

  9. 中颖4位MCU的减法汇编指令

    1, SUB M 执行动作: M - A -> A, 如果M-A的过程中没有产生借位,则CY= 1,如果产生了借位,则CY= 0. 其中,A为累加器. 2, SBI M, I 执行动作:M - ...

  10. [转]学习 WCF (6)--学习调用WCF服务的各种方法

    转自:http://www.cnblogs.com/gaoweipeng/archive/2009/07/26/1528263.html 作者这篇博文写得很全面. 根据不同的情况,我们可以用不同的方法 ...