J'essaie d'extraire des enregistrements d'adresses d'une base de données et de les regrouper par adresse. Assez simple non?LINQ et REGEX.REPLACE
Le problème I a est le champ de localisation est formaté en tant que telle
BUILDING: some building description
ADDRESS: 555 1st Street
ou
BUILDING: some building description ADDRESS: 555 1st STREET
Il y a plusieurs cas où l'adresse, la ville et correspondent État. Mais le BUILDING: la description ne le fait pas. Donc, j'ai besoin de supprimer quelque chose avant et y compris l'adresse:
Cela semble assez simple. Mais je n'arrive pas à le faire fonctionner. Voici mon LINQ actuel
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
Lorsque je courais obtiens l'erreur suivante:
Method 'System.String Replace(System.String, System.String, System.String)' has no supported translation to SQL
J'ai été en mesure d'utiliser votre suggestion pour faire une liste générique des résultats (avant la regex et utiliser la regex tout en ajoutant les éléments à la liste). Puis j'ai pris cette liste, créé une nouvelle instance As IEnumerable et regroupé les résultats ensemble pour obtenir le résultat final. – Kardsen