如何使用linq返回IEnumerable <string>。获取子查询返回的值超过1个</string>

时间:2013-02-27 14:20:49

标签: c# sql linq

我希望查询给我一个NotificationConfiguration和一个IEnumerable<string>(我稍后会使用SB将其转换为单个字符串)。一旦查询返回给我这两个项目,我将使用我的视图模型中的构造函数对其进行转换,以便我可以使用DataTable正确显示所有数据。我正在寻找的答案可能非常具体,但我需要理解为什么当我希望它返回IEnumerable<string>以及如何解决它时我得到子查询错误。另请注意......根据.net文档,代码应该将IEnumerable<string>交给我,但由于某种原因,它仍然会崩溃。以下是相关的代码示例:

    [HttpPost]
    public ActionResult Index(DataTableRequest requestedData)
    {
        using (this.dataStore.Session.BeginTransaction())
        {
            return this.dataStore.Query<NotificationConfiguration>()
                          .TableRange(requestedData, p => new NotificationConfigurationViewModel(p,  p.Events.Select(x => x.Code) ?? null));
        }
    }

    public NotificationConfigurationViewModel(NotificationConfiguration notification , IEnumerable<string> events)
{
    Contract.Requires(notification != null);

    this.notification = notification;
    this.events = events;
}

[Display(Name = "Events")]
public virtual string EventTypeCodes
{
    get
    {
        var codes = new StringBuilder();

        foreach (var item in this.events)
        {
           codes.Append(item + ",");
        }

        return codes.ToString().TrimEnd(',');
    }
}

0 个答案:

没有答案