EF中执行sql语句,以及事务
EF to sql
string sql = "select T_Task.BSID,T_Task.CloseDate,T_Task.CompleteDate,T_Task.CloseUser,T_Task.TaskID,T_BaseStation.Name from T_Task " +
"inner join T_BaseStation on T_Task.BSID=T_BaseStation.BSID"+
" where " + sqltaskid;
ObjectResult<Sys> q = db.ExecuteStoreQuery<Sys>(sql);
List<Sys> qList = q.ToList(); EF中执行sql语句,以及事务
db.Connection.Open();
var trans = db.Connection.BeginTransaction();
JsonResult json = new JsonResult();
json.Data = true;
try
{
t_device.IsAssets = ;
db.T_Device.AddObject(t_device);
db.SaveChanges(); var q = db.T_DeviceType.Single(p => p.DeviceTypeID == t_device.DeviceTypeID);
if (!string.IsNullOrEmpty(q.InfoTableName))
{
//根据不同的类型新建一个设备详细信息
string sql = "Insert into T_" + q.InfoTableName + "(DeviceID,BSID) values(" + t_device.DeviceID + "," + t_device.BSID + ")"; if (db.ExecuteStoreCommand(sql) != )
{
throw new Exception("创建详细信息失败,请检查该设备类型的表名是否正确");
}
}
trans.Commit(); }
catch (Exception ee)
{
trans.Rollback();
json.Data = ee.Message;
} return json; //基站过滤,调用存储过程
public JsonResult AutoSrc(string q)
{
int userid = Utils.GetCurrentLoginUserID(this.Session);
//var code = db.T_DepartmentInfo.Single(t => t.DepartmentID == (db.T_User.FirstOrDefault(p => p.UserID == userid).DepartmentID)).Code;
// var r = from e in db.T_BaseStation
// join d in db.T_DepartmentInfo on e.DepartmentID equals d.DepartmentID
// where d.Code != null && d.Code.Substring(0, code.Length).Contains(code)&&(e.Name.Contains(q)||e.PinYin.Contains(q))
// select new
// {
// BSID = e.BSID,
// Name = e.Name,
// PinYin = e.PinYin,
// parentBSID = e.parentBSID
// }; return proc(userid, q);
}
public JsonResult proc(int code, string name)
{
string cmdText = "P_inspectBaseList";
SqlParameter[] paras = new SqlParameter[] {
new SqlParameter("@userId",code),
new SqlParameter("@searchName",name)
};
DataTable dt = new DataTable();
dt = ExecuteQuery(cmdText, paras, CommandType.StoredProcedure); return Json(dt, JsonRequestBehavior.AllowGet);
}
public DataTable ExecuteQuery(string cmdText, SqlParameter[] paras, CommandType ct)
{
DataTable dt = new DataTable();
SqlCommand cmd = new SqlCommand();
SqlConnection conn = new SqlConnection(@"Data Source=ip\SQL2008,1848;Initial Catalog=111;Persist Security Info=True;User ID=sa;Password=111");
conn.Open();
cmd = new SqlCommand(cmdText, conn);
cmd.CommandType = ct;
cmd.Parameters.AddRange(paras); using (SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
dt.Load(sdr);
}
return dt;
} //接受Json数据
[HttpPost]
[OutputCache(Location = OutputCacheLocation.None)]
public JsonResult DataContractJsonDeserialize(T_MapOffset[] json)
{
var sqlparam = "";
int i = ; if (json != null && json.Length > )
{ foreach (var mapOffset in json)
{
if (i == )
sqlparam += "( lat=" + mapOffset.lat + " and lng=" + mapOffset.lng + ") ";
else
{
sqlparam += "or ( lat=" + mapOffset.lat + " and lng=" + mapOffset.lng + ") ";
}
i++;
}
JsonResult result = new JsonResult();
try
{
SqlConnection conn = new SqlConnection(@"Data Source=ip\SQL2008,1848;Initial Catalog=111;Persist Security Info=True;User ID=sa;Password=111");
string strSql = "select * from T_MapOffset where " + sqlparam;
List<T_MapOffset> map = new List<T_MapOffset>();
SqlCommand cmd = new SqlCommand(strSql, conn);
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
T_MapOffset mapOffset = new T_MapOffset();
mapOffset.lat = Convert.ToInt32(dr["lat"]);
mapOffset.lng = Convert.ToInt32(dr["lng"]);
mapOffset.latoffset = Convert.ToInt32(dr["latoffset"]);
mapOffset.lngoffset = Convert.ToInt32(dr["lngoffset"]);
map.Add(mapOffset);
}
conn.Close();//关闭数据库连接
return Json(map);
}
catch (Exception)
{
result.Data = null;
}
return result;
}
else
{
return null;
} } //接受泛型集合
public JsonResult GetListMapOffset(List<string> lnglat)
{
JsonResult result = new JsonResult();
result.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
List<object> list = new List<object>();
try
{
foreach (var temp in lnglat)
{
string[] t = temp.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
if (t.Length != )
continue; int lng = Int32.Parse(t[]);
int lat = Int32.Parse(t[]); var q = from m in db.T_MapOffset.Where(p => p.lng == lng && p.lat == lat) select new { m.lat, m.lng, m.latoffset, m.lngoffset };
list.AddRange(q);
} return Json(list);
}
catch
{
result.Data = null;
} return result; } //接受string字符串
public JsonResult GetListForPlan(string bsids)
{
string[] list = bsids.Split(new[] {','}, StringSplitOptions.RemoveEmptyEntries);
if(list.Length<=)
{
return null;
}
int[] ids=new int[list.Length];
int i = ;
foreach (string s in list)
{
ids[i] = int.Parse(s);
i++;
} var q = from e in db.T_BaseStation
join a in ids on e.BSID equals a
select new
{
BSID = e.BSID,
Name = e.Name,
Code = e.Code,
RoomID = e.RoomID,
Building = e.Building,
Type = e.Type,
Address = e.Address,
LocationInBuilding = e.LocationInBuilding,
Longitude = e.Longitude,
Latitude = e.Latitude,
LonLatUpdateDate = e.LonLatUpdateDate,
VIP = e.VIP,
InspectorArrivalTime = e.InspectorArrivalTime,
PowerGenerationArrivalTime = e.PowerGenerationArrivalTime,
LastInspectTime = e.LastInspectTime,
BestInspectCircle = e.BestInspectCircle,
AddUser = e.AddUser,
AddTime = e.AddTime,
MonitoringInstalled = e.MonitoringInstalled,
ResponsibleUser = e.ResponsibleUser,
DepartmentID = e.DepartmentID,
Network = e.Network
}; return Json(q, JsonRequestBehavior.AllowGet);
} select ManufacturersName,COUNT(*) from T_DeviceType group by ManufacturersName,model,TypeName having COUNT(*) >
Fiddler4BetaSetup.exe
EF中执行sql语句,以及事务的更多相关文章
- 在EF中执行SQL语句(转载)
在EF中执行SQL语句 你可能要问,我用EF不就为了避免写SQL吗?如果要写SQL我不如直接用ADO.NET得了.话虽然这么说没错,可有些时候使用EF操作数据还是有一些不方便,例如让你根据条件删除 ...
- easyui datagrid 禁止选中行 EF的增删改查(转载) C# 获取用户IP地址(转载) MVC EF 执行SQL语句(转载) 在EF中执行SQL语句(转载) EF中使用SQL语句或存储过程 .net MVC使用Session验证用户登录 PowerDesigner 参照完整性约束(转载)
easyui datagrid 禁止选中行 没有找到可以直接禁止的属性,但是找到两个间接禁止的方式. 方式一: //onClickRow: function (rowIndex, rowData) ...
- 在EF中执行SQL语句
你可能要问,我用EF不就为了避免写SQL吗?如果要写SQL我不如直接用ADO.NET得了.话虽然这么说没错,可有些时候使用EF操作数据还是有一些不方便,例如让你根据条件删除一组记录,如果按照正常的流程 ...
- EF中执行Sql语句
Entity Framework是微软出品的高级ORM框架,大多数.NET开发者对这个ORM框架应该不会陌生.本文主要罗列在.NET(ASP.NET/WINFORM)应用程序开发中使用Entity F ...
- Asp.Net MVC EF之一:使用Database类在EF框架中执行Sql语句
引言 从EF6开始,增加了DateBase类,他通过从 DbContext 对象获取此类的实例.可用于管理支持数据库上下文或连接的实际数据库.这包括创建.删除和检查数据库的存在. 在6以前,我们使用E ...
- [转]在EntityFramework6中执行SQL语句
本文转自:http://www.cnblogs.com/wujingtao/p/5412329.html 在上一节中我介绍了如何使用EF6对数据库实现CRDU以及事务,我们没有写一句SQL就完成了所有 ...
- 在EntityFramework6中执行SQL语句
在EntityFramework6中执行SQL语句 在上一节中我介绍了如何使用EF6对数据库实现CRDU以及事务,我们没有写一句SQL就完成了所有操作.这一节我来介绍一下如何使用在EF6中执行SQL语 ...
- 在EntityFramework6中执行SQL语句【转】
在上一节中我介绍了如何使用EF6对数据库实现CRDU以及事务,我们没有写一句SQL就完成了所有操作.这一节我来介绍一下如何使用在EF6中执行SQL语句. 你可能要问,我用EF不就为了避免写SQL吗?如 ...
- EF中使用SQL语句或存储过程
EF中使用SQL语句或存储过程 1.无参数查询var model = db.Database.SqlQuery<UserInfo>("select* from UserInfoe ...
随机推荐
- jQuery-3~4章
jQuery-3~5章 JQuery003-JQuery中的DOM操作 jQuery中的DOM操作: 1.查找节点 A.查找元素节点 B. 查找属性节点 var s1 = $("ul li: ...
- Windows综合应用
待修改中-------------------------------------- 快捷键部分: Win+E:打开"我的电脑"E:Explot的缩写,即资源管理器. ------ ...
- 挣值管理(PV、EV、AC、SV、CV、SPI、CPI) 记忆
挣值管理法中的PV.EV.AC.SV.CV.SPI.CPI这些英文简写相信把大家都搞得晕头转向的.在挣值管理法中,需要记忆理解的有三个参数:PV.AC.EV. PV:计划值,在即定时间点前计划 ...
- Yii2.0登录详解(下)
在上一篇博文中,笔者讲述了yii2应用用户登陆的基本方法,但是这些方法到底是怎样实现登陆的呢?底层的原理到底是什么?在这篇博文笔者将从Yii的源码角度分析登陆的基本原理以及cookie自动登陆的原理, ...
- D:Wordpress_AFC插件常用代码
获取自定义变量 //输出自定义字段title的值<?php the_field('title','options'); ?> //获取自定义字段title的值 <?php echo ...
- Java编程中“为了性能”需做的26件事
1.尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面: (1)控制资源的使用,通过线程同步来控制 ...
- arguments 对象的老历史
引题:为什么 JavaScript 中的 arguments 对象不是数组 http://www.zhihu.com/question/50803453 JavaScript 1.0 1995 年, ...
- 搭建一个简单struts2框架的登陆
第一步:下载struts2对应的jar包,可以到struts官网下载:http://struts.apache.org/download.cgi#struts252 出于学习的目的,可以把整个完整的压 ...
- 关于 Mybatis 的Invalid bound statement (not found):错误
今天遇到一个特别奇怪的问题,最后发现是自己对mybatis的学习还有待提高 返回类型可以用resultType,也可以用resultMap resultType是直接表示返回类型的,而resultMa ...
- linux c 笔记-4 工程项目阅读推荐
作者:周子涵链接:https://www.zhihu.com/question/27705862/answer/37738315来源:知乎著作权归作者所有,转载请联系作者获得授权. 转自网上不知道什么 ...