C# 实际上,提供了一种OP不需要构建类的工作环境。我不喜欢它,因为它有三次往返,但我认为它展示了为什么OP只需要将数据放入一个类中。即使是动态对象也是POCO。它只是在运行时构建的。OP不想构建一个对象。+1至少提供了一个好的解决方案。尽管它没有使用Query
C# 实际上,提供了一种OP不需要构建类的工作环境。我不喜欢它,因为它有三次往返,但我认为它展示了为什么OP只需要将数据放入一个类中。即使是动态对象也是POCO。它只是在运行时构建的。OP不想构建一个对象。+1至少提供了一个好的解决方案。尽管它没有使用Query,c#,asp.net,sql,linq,C#,Asp.net,Sql,Linq,实际上,提供了一种OP不需要构建类的工作环境。我不喜欢它,因为它有三次往返,但我认为它展示了为什么OP只需要将数据放入一个类中。即使是动态对象也是POCO。它只是在运行时构建的。OP不想构建一个对象。+1至少提供了一个好的解决方案。尽管它没有使用Query方法,但它确实为结果提供了一个内存高效的对象数组。 var gamePlayRecord = db.ExecuteQuery<int[]>("SELECT UserID, IPID, GameID FROM ArcadeGames
实际上,提供了一种OP不需要构建类的工作环境。我不喜欢它,因为它有三次往返,但我认为它展示了为什么OP只需要将数据放入一个类中。即使是动态对象也是POCO。它只是在运行时构建的。OP不想构建一个对象。+1至少提供了一个好的解决方案。尽管它没有使用
Query
方法,但它确实为结果提供了一个内存高效的对象数组。
var gamePlayRecord = db.ExecuteQuery<int[]>("SELECT UserID, IPID, GameID FROM ArcadeGames WHERE ID = " + gamePlayRecordID).Single();
var userID = gamePlayRecord[0];
var ipID = gamePlayRecord[1];
var gameID = gamePlayRecord[2];
var gamePlayRecord = db.ExecuteQuery<ArcadeGames>(@"SELECT UserID, IPID, GameID FROM ArcadeGames WHERE ID = {0}", gamePlayRecordID).Single();
var userID = gamePlayRecord.UserID;
var ipID = gamePlayRecord.IPID;
var gameID = gamePlayRecord.GameID;
int userID = db.ExecuteQuery<int>("SELECT UserID FROM ArcadeGames WHERE ID = " + gamePlayRecordID).Single();
int ipID = db.ExecuteQuery<int>("SELECT IPID FROM ArcadeGames WHERE ID = " + gamePlayRecordID).Single();
int gameID db.ExecuteQuery<int>("SELECT GameID FROM ArcadeGames WHERE ID = " + gamePlayRecordID).Single();
db.ExecuteQuery<int>(@"
SELECT UserID FROM ArcadeGames WHERE ID = {0}
UNION ALL
SELECT IPID FROM ArcadeGames WHERE ID = {0}
UNION ALL
SELECT GameID FROM ArcadeGames WHERE ID = {0}",
gamePlayRecordID).ToList();
using (var sqlConnection
= new SqlConnection(connectionString))
{
sqlConnection.Open();
IEnumerable products = sqlConnection
.Query("Select * from Products where Id = @Id",
new {Id = 2});
foreach (dynamic product in products)
{
ObjectDumper.Write(string.Format("{0}-{1}", product.Id, product.ProductName));
}
sqlConnection.Close();
}
SqlCommand command = new SqlCommand("SELECT UserID, IPID, GameID FROM ArcadeGames WHERE ID = " + gamePlayRecordID, connection);
SqlDataReader reader = command.ExecuteReader();
if (reader.Read())
{
var userID = reader[0];
var ipID = reader[1];
var gameID = reader[2];
}
var gamePlayRecord = db.ExecuteQuery<string>(
"SELECT cast(UserID as nvarchar(10)) + ';' + cast(IPID as nvarchar(10)) + ';' + cast(GameID as nvarchar(10)) as a FROM ArcadeGames WHERE ID = " + gamePlayRecordID
)
.Single()
.Split(';')
.Select(i => int.Parse(i))
.ToArray();
db.ExecuteQuery<int>(@"
SELECT UserID FROM ArcadeGames WHERE ID = {0}
UNION ALL
SELECT IPID FROM ArcadeGames WHERE ID = {0}
UNION ALL
SELECT GameID FROM ArcadeGames WHERE ID = {0}",
gamePlayRecordID).ToList();