我正在围绕Vici Coolstorage构建一个应用程序(asp.net版本)。我创建了我的类并映射到我的数据库表,并且可以很好地提取所有记录的列表。
我编写了一个存储过程,其中查询跳过未使用Coolstorage映射的数据库,但是,查询结果中的字段直接映射到我的某个类。该过程需要1个参数。
这里有2个问题:
我该如何执行存储过程?我正在做这个
CSParameterCollection collection = new CSParameterCollection();
collection.Add("@id", id);
var result = Vici.CoolStorage.CSDatabase.RunQuery("procedurename", collection);
并获得异常“'procedurename'附近的语法不正确。” (我猜这是因为它试图将其作为文本而不是程序执行?)
并且,由于表示我的表的类被定义为抽象,我如何指定结果应该创建一个MyTable对象列表而不是泛型或动态或任何对象?如果我尝试
Vici.CoolStorage.CSDatabase.RunQuery<MyTable>(...)
编译器因为它是一个抽象类而对我大吼大叫。
答案 0 :(得分:2)
CoolStorage中有一个快捷方式来运行存储过程。只需在存储过程名称前加上“!”:
CSDatabase.RunQuery("!procedurename", collection);