MVC 中使用EF
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的更多相关文章
- MVC中使用EF(2):实现基本的CRUD功能
MVC中使用EF(2):实现基本的CRUD功能 By Tom Dykstra |July 30, 2013 Translated by litdwg Contoso University示例网站 ...
- 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 ...
- .NET Core2.0 MVC中使用EF访问数据
使用环境:Win7+VS2017 一.新建一个.NET Core2.0的MVC项目 二.使用Nuget添加EF的依赖 输入命令:Install-Package Microsoft.EntityFram ...
- MVC中使用EF增删改查,简单的例子
//这个是分页数据和总页数类 public class SummaryBase<TModel> { public SummaryBase(); public IList<TModel ...
- MVC中使用EF+MySQL
最近一段时间,想在EF中使用MySQL,于是就进行了测试. 我的环境是VS2013+EF6+MySQL5.7.4 首先要下载MySQL For VisualStudio 1.1.4.Connector ...
- MVC中使用EF的技巧集
1.从数据库生成模型后,再次更新模型时,之前设置的验证规则会丢失. 解决方法:在Models文件夹中新建一个空白类,把它命名为shujuyanzh.cs(类名可以自定),然后把Models中自动生成的 ...
- MVC中使用EF:排序,过滤,分页
原文链接:http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/sorting-filtering-and-paging ...
- MVC中使用EF的技巧集(一)
一.建好数据库后,向项目中添加数据模型. 1.右键点击“Models” 文件夹,选择“添加”,再选择“添加新项”. 2.在“添加新项”窗口,选择左边的“数据”,然后再在右边选择“ADO.NET 实体数 ...
- MVC中使用EF的技巧集(二)——分部验证
1.从数据库生成模型后,再次更新模型时,之前设置的验证规则会丢失. 解决方法:在Models文件夹中新建一个空白类,把它命名为shujuyanzh.cs(类名可以自定),然后把Models中自动生成的 ...
随机推荐
- paper 78:sniff抓包程序片段
#define INTERFACE "eth0"#define MAX_SIZE 65535 int init_raw_socket();int open_promisc(char ...
- paper 42 :图像的小波变换
关于小波变换我只是有一个很朴素了理解.不过小波变换可以和傅里叶变换结合起来理解. 傅里叶变换是用一系列不同频率的正余弦函数去分解原函数,变换后得到是原函数在正余弦不同频率下的系数. 小波变换使用一系列 ...
- ios学习笔记(二)第一个应用程序--Hello World
原文地址:http://blog.csdn.net/shangyuan21/article/details/18416537 上一篇文章,Windows7上使用VMWare搭建iPhone开发环境介绍 ...
- python入门语法总结 zz
http://renjie120.iteye.com/blog/680126 1.python是一个解释性语言: 一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计 ...
- zw版_Halcon图像库delphi接口文件
zw版_Halcon图像库delphi接口文件 Halcon图像库delphi接口文件,根据安装时用户设置的文件目录不同,会有所差异,笔者一般安装在delphi的import目录下. 参见:& ...
- sp_executesql的执行计划会被重用(转载)
前一段时间,给一位朋友公司做咨询,看到他们的很多的存储过程都存在动态sql语句执行,sp_executesql,即使在没有动态表名,动态字段名的情况下仍然使用sp_executesql,这个做法是不太 ...
- string与char之间的互相转换
string对象是一种很强大的存在哈~~ 1. string转const char* string s = "abc"; const char* c_s = s.c_str(); ...
- android 学习随笔十四(页面跳转与数据传递)
1.activity 创建第二个Activity 需要在清单文件中为其配置一个activity标签 标签中如果带有这个子节点,则会在系统中多创建一个快捷图标 <intent-filter> ...
- TI CC254x BLE教程 2
连接更新请求(connection update request) 如果slave不满意现有的连接参数, 比如间隔, 延迟等等, 可以向master提出自己希望的参数范围 连接终止(connectio ...
- In_interrupt( ) 和In_irq( )【转】
转自:http://blog.csdn.net/do2jiang/article/details/5486888 in_interrupt() 是判断当前进程是否处于中断上下文,这个中断上下文包括底半 ...