Dim policies() As Policy = {
New Policy() With {.ID = 1, .HouseholdId = 1, .PolicyType = "Auto"},
New Policy() With {.ID = 2, .HouseholdId = 1, .PolicyType = "Home"},
New Policy() With {.ID = 3, .HouseholdId = 2, .PolicyType = "Auto"}
Dim audit() As Integer = (From p As Policy In policies
Group By HouseholdId = p.HouseholdId Into g = Group
Where g.Any(Function(grouped) grouped.PolicyType = "Auto") Andalso Not g.Any(Function(grouped) grouped.PolicyType = "Home")
Select g.FirstOrDefault().HouseholdId).ToArray()
Console.WriteLine("HouseholdId's: " & String.Join(", ", audit))
Public Property ID As Integer
Public Property HouseholdId As Integer
Public Property PolicyType As String