EF中Database.SqlQuery

本文转载:http://www.cnblogs.com/daimage/archive/2012/07/04/2575844.html

EF中Database.SqlQuery<TElement> Method (String, Object[]) 可以直接执行SQL语句

但以为object[]参数和在ado.net中一样呢 开始就按ADO.NET中的 写法

sql为:update Product_Union set [email protected] where [email protected]

如 var parameters = new SqlParameter[] {new SqlParameter("@a", 1),new SqlParameter("@b",2)};  这样写, 但运行时发现也不报错 数据也不更新

后来查了资料才知道需要这样用

SqlParameter[] sqlParameters = { new SqlParameter { ParameterName = "a",Value = 1},new SqlParameter{ParameterName = "b",Value =2}};

文章连接:http://msdn.microsoft.com/en-us/library/ee358758.aspx

时间: 2024-12-04 03:49:30

EF中Database.SqlQuery的相关文章

MVC5 DBContext.Database.SqlQuery获取对象集合到ViewModel集合中(可以利用这个方法给作为前台视图页cshtml页面的@model 源)??待验证

定义一个ViewModel类 public class DirectorVM { [Key] public int DirectorID { get; set; } [Display(Name = "Director Name")] [DataType(DataType.Text)] public string DirectorName { get; set; } public int HometownID { get; set; } } 在一个控制器中先定义一个dbcontext实例

EF5中 执行 sql语句使用Database.ExecuteSqlCommand 返回影响的行数 ; EF5执行sql查询语句 Database.SqlQuery 带返回值

一: 执行sql语句,返回受影响的行数 在mysql里面,如果没有影响,那么返回行数为  -1 ,sqlserver 里面  还没有测试过 using (var ctx = new MyDbContext()) { ctx.Database.ExecuteSqlCommand("UPDATE Person SET Name = 'Michael' WHERE PersonID = 1"); } 二 : Database.SqlQuery<T>   EF5执行sql查询语句

EF中执行sql语句

EF原理 EF 会自动把 Where().OrderBy().Select()等这些编译成"表达式树(Expression Tree)",然后会把表达式树翻译成 SQL 语句去执行.(编译原理,AST)因此不是"把数据都取到内存中,然后使用集合的方法进行数据过滤",因此性能不会低.但是如果这个操作不能被翻译成 SQL 语句,则或者报错,或者被放到内存中操作,性能就会非常低 跟踪EF的查询Sql语句: DbContext 有一个 Database 属性,其中的 Log

在EF中执行SQL语句

你可能要问,我用EF不就为了避免写SQL吗?如果要写SQL我不如直接用ADO.NET得了.话虽然这么说没错,可有些时候使用EF操作数据还是有一些不方便,例如让你根据条件删除一组记录,如果按照正常的流程来走,你就得先把这些数据查出来,然后再一条一条地删除它们,这样不仅麻烦而且性能也比较低.这种情况下SQL就显示出它的威力了. 而使用EF执行SQL又比ADO.NET方便,特别是在执行查询语句的时候,EF会把查询到的数据自动保存到数据实体中,省去了使用DataReader的麻烦.同时查询出来的数据还会

EF中使用SQL语句或存储过程

EF中使用SQL语句或存储过程或视图 1.无参数查询var model = db.Database.SqlQuery<UserInfo>("select* from UserInfoes ").ToList(); 2.有参查询var model = db.Database.SqlQuery<UserInfo>("select* from UserInfoes where [email protected] ",new SqlParameter

C# 在EF中直接运行SQL命令

相信不少使用EF的同志们已经知道如何在EF中运行SQL命令了.我在这里简单总结下,希望对大家学习EF有所帮助! 在 EF第一个版本(.NET 3.5 SP1)中,我们只能通过将ObjectContext.Connection转换为EntityConnection,再把 EntityConnection.StoreConnection转换为SqlConnection.有了这个SqlConnection,我们再创建 SqlCommand便能顺利运行SQL命令了.(个人觉得其实很烦,呵呵) 例如: E

EF中执行原生sql与使用Local获取本地数据

使用DbSet的Local属性可以访问当前context中被追踪且没有被标记为删除的实体(内存中的数据) 1 using (var context = new BloggingContext()) 2 { 3 // Load all blogs from the database into the context 4 context.Blogs.Load(); 5 6 // Add a new blog to the context 7 context.Blogs.Add(new Blog {

[转]Entity FrameWork利用Database.SqlQuery&lt;T&gt;执行存储过程并返回参数

本文转自:http://www.cnblogs.com/xchit/p/3334782.html 目前,EF对存储过程的支持并不完善.存在以下问题:        EF不支持存储过程返回多表联合查询的结果集.        EF仅支持返回返回某个表的全部字段,以便转换成对应的实体.无法支持返回部分字段的情况.        虽然可以正常导入返回标量值的存储过程,但是却没有为我们自动生成相应的实体.cs代码,我们还是无法在代码中直接调用或使用标量存储过程        EF不能直接支持存储过程中O

.NET在EF中使用sql,用动态类吧!

.NET在EF中使用sql,用动态类吧! 前言 在.NET中使用Entity Framework能快速.方便地结合LINQ来对数据库进行一系列的增删改查操作.但是由于EF根据表达式最后生成通用的sql来执行,进行具体的数据库操作.根据本人使用EF的经验,对于增.删.改的操作,可以直接使用EF的接口进行快速开发.但是对于查询的操作,最好是使用EF调用sql来操作. 问题呈现 在EF中调用sql进行数据查询后,需要返回一个指定类型的数据列表,那么这个类型是需要在调用的时候指定的.我们就会遇到这种问题