ORMLite SqlList与元组

时间:2018-04-18 09:24:49

标签: c# ormlite-servicestack

我在使用Tuple的自定义SQL查询中选择ORMLite个对象时遇到了麻烦。

我有以下代码:

var query = "select definition.*, timeslot.*, type.* from <blah blah>";
var defs = dbConnection.SqlList<Tuple<Definition, Timeslot, Type>>(query, new
                {
                    /* query parameters */
                });

查询本身很好(我已在SQL Management Studio中对其进行了测试)。

上面的代码仅为Tuple的第一项设置属性,而将其他项设置为默认状态。

我已经单独选择了每个对象并且结果是正确的(因此在转换为POCO时我没有遇到麻烦)。

如果我使用Select<Tuple<Definition, Timeslot, Type>>代替SqlList,那么同样如此。

我无法尝试使用MultiSelect,因为它似乎没有字符串。

以这种方式选择Tuple的正确方法是什么?

我在C#工作。

提前致谢!

1 个答案:

答案 0 :(得分:0)

SelectMulti似乎就是您在这里寻找的东西。

the documentation在已连接的表中选择多个列标题下:

// Note: I'm making an assumption on your query here.
// Build the `q` object however it needs to be.

var q = db.From<Definition>()
          .Join<Definition, Timeslot>()
          .Join<Definition, Type>();

var results = db.SelectMulti<Definition, Timeslot, Type>(q);

foreach (var tuple in results)
{
    var definition = tuple.Item1;
    var timeslot = tuple.Item2;
    var type = tuple.Item3;
}