Simple.Data转换为ToList <string>()</string>

时间:2013-01-20 23:13:19

标签: simple.data

我正在使用Simple.Data并想知道我是否可以选择单个列然后将其转换为字符串值列表。例如,使用下面的查询,我得到错误:

无法将类型'Simple.Data.SimpleRecord'隐式转换为'string'

var result = _database.ParentRegionList.All()
            .Select(_database.ParentRegionList.RegionName)
            .Where(_database.ParentRegionList.RegionName.Like(startsWith + "%"))
            .Distinct()
            .ToList<string>();

但是,如果我创建一个类LocationAutoComplete,它具有string类型的单个公共属性“RegionName”,那么转换就可以了。

var result = _database.ParentRegionList.All()
            .Select(_database.ParentRegionList.RegionName)
            .Where(_database.ParentRegionList.RegionName.Like(startsWith + "%"))
            .Distinct()
            .ToList<LocationAutoComplete>();

2 个答案:

答案 0 :(得分:3)

ToList&lt; T&gt; Simple.Data方法希望您将SimpleRecord的内容强制转换为对象,这就是它与LocationAutoComplete类一起使用的原因。完整的详细信息可以在here找到。

如果您只返回一个希望作为标量值或标量值列表返回的字段,请使用ToScalar&lt; T&gt;。或ToScalarList&lt; T&gt;方法而不是。完整的详细信息可以在here

找到

答案 1 :(得分:0)

如果RegionName是varchar,那么您只需要

var result = _database.ParentRegionList.All()                
            .Where(_database.ParentRegionList.RegionName.Like(startsWith + "%"))
            .Select(_database.ParentRegionList.RegionName)
            .Distinct()
            .ToList();

您不需要<string>