我对我的SQL Server返回的错误感到非常困惑-这是什么引起的?
我正在运行的C#代码是:
List<CalendarEvent> events = new List<CalendarEvent>();
var db = Database.Open("myDatabase");
string username = HttpContext.Current.Request.Cookies.Get("username").Value;
var listOfGroups = db.Query("SELECT GroupID FROM Membership WHERE UserID = (SELECT UserID from Users WHERE Username = @0 )", username);
foreach(var groupID in listOfGroups)
{
var result = db.Query(
@"SELECT e.event_id, e.title, e.description, e.event_start, e.event_end, e.group_id, e.recurring
FROM event e
JOIN Membership m ON m.GroupID = e.group_id
WHERE e.recurring = 0
AND m.GroupID = @0
AND e.event_start >= @1
AND e.event_end <= @2
UNION ALL
SELECT e.event_id, e.title, e.description, DATEADD(week, w.weeks, e.event_start), DATEADD(week, w.weeks, e.event_end), e.group_id, e.recurring
FROM event e
JOIN Membership m ON m.GroupID = e.group_id
CROSS JOIN
( SELECT row_number() OVER (ORDER BY Object_ID) AS weeks
FROM SYS.OBJECTS
) AS w
WHERE e.recurring = 1
AND m.GroupID = $3
AND e.event_start >= @4
AND e.event_end <= @5", groupID, start, end, groupID, start, end
);
foreach(var record in result)
{
CalendarEvent cevent = new CalendarEvent();
cevent.id = record.event_id;
cevent.title = record.title;
cevent.description = record.description;
cevent.start = record.event_start;
cevent.end = record.event_end;
cevent.recurring = record.recurring;
events.Add(cevent);
}
}
return events;
}
错误:
异常详细信息:System.ArgumentException:不存在从对象类型WebMatrix.Data.DynamicRecord到已知的托管提供程序本机类型的映射。
是什么原因造成的,我该如何解决?
我想做的是返回我希望在其一周以及此后52周返回的所有重复发生= 0的事件,以及所有重复发生= = 1的事件。
看来您的问题出在您的groupID
输入参数上。
var listOfGroups = db.Query("SELECT GroupID FROM Membership WHERE UserID = (SELECT UserID from Users WHERE Username = @0 )", username);
您listOfGroups
作为WebMatrix.Data.DynamicRecord
对象的集合回来了。你似乎只想要int
的值,当你groupID
在foreach(var groupID in listOfGroups)
声明。
尝试代替最后一行:
AND e.event_end <= @5", groupID, start, end, groupID, start, end
和:
AND e.event_end <= @5", (int)groupID.GroupID, start, end, (int)groupID.GroupID, start, end
这应该从每个动态查询结果的第一列(也是唯一列)中提取值,该值就是您要获取的int组ID。
编辑: DynamicRecord查询结果的更正值调用语法。
我有很多实体扩展了实体,也有很多数据扩展到 我有一个通用的存储库、服务和映射器,如下所示 我的仓库: 我的服务: 我的地图绘制者: 我想在方法中从T创建一个对象,在类中从方法中从Dto创建一个对象
问题内容: 我正在编写要与Azure Worker角色一起使用的F#。我希望类将连接字符串a作为参数。我创建一个数据库连接 但是dbSchema是一种类型,因此无法将其嵌入到我的类中(另一种类型)。我可以创建两个单独的模块,一个与数据库连接,另一个与我的课程 但是,如何在类的构造函数中使用connectionString创建连接? 问题答案: SQL数据库的类型提供程序将连接字符串用于两个不同的目
我对Flutter编程非常陌生,我正在尝试导入一个本地JSON文件,其中包含书籍数据,如标题、作者、发布年份等。 最初我使用JSON-to-DART转换器来组装一个图书数据模型,现在我正在尝试创建一个函数,在该函数中,程序获取本地JSON文件,并使用类中的方法将数据解析为地图。 我遇到的问题是返回类型
问题内容: 我正在执行我的Maven构建,它将引发此异常: 我这样映射: 我正在使用InnoDB创建列,如下所示: 这样不行吗 为什么说他正在寻找tinyint? 问题答案: 将@Basic用于基本整数。您始终可以尝试将您的ID声明为Long。我通常总是使用Long作为我的ID。请参阅映射标识符属性:
我试图使用http://modelmapper.org/表示DAO和模型类的库- 模型类- 道类- 公共类主题{私有字符串名称; 映射逻辑 ModelMapper似乎不起作用,它给我提供了主题类项目,而不是主题模型类项目
我正在使用和。它在这里 我有一个像这样的域名。而且,似乎不推荐使用注释,所以我使用了。 类如下所示 使用该类的如下所示 但当我启动应用程序时,我得到了错误 问题出在哪里?