我正在尝试从数据库中提取地址记录,并按地址将它们组合在一起。 很简单吧?
我遇到的问题是LOCATION字段的格式是这样的
BUILDING: some building description
ADDRESS: 555 1st Street
或
BUILDING: some building description ADDRESS: 555 1st STREET
地址,城市和州有多个匹配的实例。但是BUILDING:描述没有。所以我需要在ADDRESS之前删除任何内容:
这些看起来很简单。但我似乎无法让它发挥作用。这是我目前的LINQ
Dim addressesP1 = _
(From R In tickets _
Where R.PRIORITY = 1 _
Group R By R.Z_LOC_CITY, R.Z_LOC_STATE, _
ZLOC = Regex.Replace(R.Z_LOCATION, "/.+address:/is", "") _
Into Group _
Where Group.Count >= P1Count _
Select ZLOC, Z_LOC_CITY, Z_LOC_STATE, thecount = Group.Count)
For Each c In addressesP1
list.Add( _
New TicketAddress With _
{.z_location = c.ZLOC, _
.z_loc_city = c.Z_LOC_CITY, _
.z_loc_state = c.Z_LOC_STATE, _
.thecount = c.thecount() _
})
Next
Return list
运行时出现以下错误:
方法'System.String Replace(System.String,System.String,System.String)'没有支持的SQL转换
答案 0 :(得分:1)
您是否希望在SQL中执行所有查询?如果是这样,我认为你会感到失望 - 我不认为 LINQ to SQL支持正则表达式。
如果您愿意在进程中执行剩余的查询,则可以在第一个AsEnumerable()
子句后使用Where
。
请注意,您可以通过执行另一个选择然后再调用ToList
来更轻松地构建列表。