如何将List <string>中的Uri转换为List <uri>?</uri> </string>

时间:2014-02-21 08:25:16

标签: c# asp.net linq entity-framework

我正在使用带有Code First的ASP.NET Web API,我有一个名为profile的模型,它应该保存数据:

  • string Reference(XXX-12345)
  • string FirstName(John)
  • string LastName(Doe)
  • string Telephone(+ xxx xxxxxxxxxx)
  • string电子邮件(john@doe.com)
  • string Link(http://my.api.com/controller/XXX-12345

我想做这样的事情:

List<Uri> ProfileUris = DBContext.Profiles.Select(p => new Uri(p.Link)).ToList()

以上引发错误

任何想法如何在没有for循环的情况下进行此转换。

1 个答案:

答案 0 :(得分:7)

实体框架无法将Uri创建转换为SQL代码。从数据库中选择链接列,然后通过AsEnumerable()调用将处理移动到客户端 - 这将允许您调用C#代码而不尝试将其转换为SQL:

List<Uri> ProfileUris = DBContext.Profiles.Select(p => p.Link)
                                 .AsEnumerable()
                                 .Select(l => new Uri(l))
                                 .ToList();