由于我的数据库中有一部分表是动态生成的,因此没有为它生成实体类,在实际应用中是根据记录到表中的信息动态地生成create table, insert, update, delete, select 语句的但是现在发现无法使用 EF 中得到的连接创建 DbCommand 进行普通的查询
using (DAL.PrintsysEntities db = new DAL.PrintsysEntities()) {
System.Data.Common.DbConnection conn = db.Connection;
using (System.Data.Common.DbCommand cmd = conn.CreateCommand()) { cmd.CommandText = "select now()"; if (conn.State != ConnectionState.Open)
conn.Open();
using (System.Data.Common.DbDataReader reader = cmd.ExecuteReader()) {
if (reader.Read()) {
object now = reader.GetDateTime(0);
}
}
}
}db.Connection 返回的是 System.Data.EntityClient.EntityConnection 类型
用它得到的 Command 是 System.Data.EntityClient.EntityCommand 类型
用它们无法执行普通的 sql 语句这个情况应该怎么办?
using (DAL.PrintsysEntities db = new DAL.PrintsysEntities()) {
System.Data.Common.DbConnection conn = db.Connection;
using (System.Data.Common.DbCommand cmd = conn.CreateCommand()) { cmd.CommandText = "select now()"; if (conn.State != ConnectionState.Open)
conn.Open();
using (System.Data.Common.DbDataReader reader = cmd.ExecuteReader()) {
if (reader.Read()) {
object now = reader.GetDateTime(0);
}
}
}
}db.Connection 返回的是 System.Data.EntityClient.EntityConnection 类型
用它得到的 Command 是 System.Data.EntityClient.EntityCommand 类型
用它们无法执行普通的 sql 语句这个情况应该怎么办?
解决方案 »
- 求教C#调用DLL参数为数组指针如何传参
- 各位Winform高手,过来帮个忙吧
- 线程中的参数是Hashtable类型的,线程接收的时候是object的,怎么取值
- listview xml 绑定问题
- Form程序设计中遇到的几个问题(急!!!!!!!!!!!!!!)为什么这个程序不能运行!提示错误!
- 很难的问题:在线等
- 有人用过redis吗?
- C#中類似VB中Format(now,"yy/mm/dd")或Format(num,"#,##0.00")的函數??
- 有关传入参数的问题!!!
- 急,C#中多个线程之间是如何建立通信的,请高手指教
- socket循环接收二进制判断结束的问题
- .net中用oracle公司的odp.net如何保存时间?
db 有 Database 这个属性,但是字是 string 类型,没有 ExecuteSqlCommand 这个方法啊
context.Database 是 string 类型,没有 SqlQuery 这个方法啊
{
var constr = @"Data Source=.;Initial Catalog=Northwind;Integrated Security=True";
var context = new DataContext(constr) ;
string[] ss=context.ExecuteQuery<string>("select now()").ToArray();
foreach(string s in ss)
{
Console.WriteLine(s);
}
}
版主,我用的是 MySQL,不是SQL Server
另外,这种查询要求指定返回类型,如果我查的不是当前时间,而是一个表,并且这个表是在运行时动态创建的,我就无法指定返回类型了。