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 ...
随机推荐
- animate对颜色设置不起作用
今天了解了一下stop的使用方法,但是实例中加入color:red的时候,动画效果没有实现,具体实例如下: http://jsbin.com/fezaroyene/edit?html,js,outpu ...
- MySql类似Oracle的dual虚拟表
在mysql里也存在和oracle里类似的dual虚拟表:官方声明纯粹是为了满足select ... from...这一习惯问题,mysql会忽略对该表的引用. 你可千万注意了: select * f ...
- js自适应屏幕高度
//自适应屏幕高度 $(window).resize(function() { hightChange(); }); function hightChange(){ ; $();// iframe i ...
- css之display:inline-block
display:inline-block: 作用:将对象呈现为inline对象,但是对象的内容作为block对象呈现.之后的内联对象会被排列在同一行内.比如我们可以给一个link(a元素)inline ...
- 7、I/O流
一.流的概念:流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作.I/O就 ...
- C# *= 运算顺序
a *= a + b *c; 不管等号右边有没有括号,总是先算右边: 即等价于 a = a *(a + b*c); using System; using System.Collections.Gen ...
- vi 常用命令
1.关于退出 :wq! ----强制保存退出 :wq ---- 保存退出 ZZ ---- 作用和:wq一样,(注意Z是大写的,并且不是在命令模式) :q ---- 退出 :q! --- 强 ...
- JAVA解析XML的四种方法
XML文件:test.xml <?xml version="1.0" encoding="UTF-8"?> <employees> &l ...
- (转载)phpcms v9两步实现专题栏目生成路径去掉html和special
相信很多人都知道,phpcms v9专题是不支持自定义URL的,生成的专题路径是以/HTML/special/开头的.那么如何实现专题栏目生成路径去掉html和special呢?通过修改程序的PHP源 ...
- 进阶系列二【绝对干货】---Quartz.Net的入门
一.Quartz.Net是什么? Quartz.Net是一个开源的作业调度框架,OpenSymphony的开源项目,是Quartz的C#移植项目.非常适合在平时的工作中,定时轮询数据库同步,定时邮件通 ...