Tom*_*len 5 c# sql linq asp.net
我收到错误:
类型'System.Int32 []'必须声明一个默认(无参数)构造函数,以便在映射期间构造.
随着代码:
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];
Run Code Online (Sandbox Code Playgroud)
我知道这是错的,但有人可以告诉我如何正确地完成它而不需要创建一个新的对象吗?
此查询的结果不是int[]包含数字的一行.
不好的解决方案:用于每个号码:
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();
Run Code Online (Sandbox Code Playgroud)
或创建SQL查询
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();
Run Code Online (Sandbox Code Playgroud)
或创建课程......
Bha*_*rat -1
应该是这样的
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;
Run Code Online (Sandbox Code Playgroud)
代码参考取自http://msdn.microsoft.com/en-us/library/bb361109.aspx
| 归档时间: |
|
| 查看次数: |
20096 次 |
| 最近记录: |