LINQ join query w/ multiple conditions - duplicate records

stomas

New member
Joined
Sep 24, 2012
Messages
4
Programming Experience
Beginner
Hi...I have a LINQ query with 3 join conditions that is giving me duplicate records in some cases. In SQL I am able to solve this by using GROUP BY...how can I achieve similar results in LINQ? I tried adding the 'Distinct' clause at the end of the Select statement but that isn't working either...any ideas? The query is as follows:

Dim Query1 = From asset In dtNewAssets _
Join exasset In dtExistingAssets _
On asset("ACCOUNT_NAME") Equals exasset("ACCOUNT_NAME") _
And asset("USER_ID") Equals exasset("USER_ID") _
And asset("AKR") Equals exasset("AKR") _
Select New With _
{ _
.ACCOUNT_NAME = asset.Field(Of String)("ACCOUNT_NAME"), _
.SUB_NO = asset.Field(Of String)("SUB_NO"), _
.CONTACT_FIRST_NAME = asset.Field(Of String)("CONTACT_FIRST_NAME"), _
.CONTACT_LAST_NAME = asset.Field(Of String)("CONTACT_LAST_NAME"), _
.CONTACT_EMAIL = asset.Field(Of String)("CONTACT_EMAIL"), _
.USER_ID = asset.Field(Of String)("USER_ID"), _
.INSTALL_TO_SUB_NUM = asset.Field(Of String)("INSTALL_TO_SUB_NUM"), _
.ORIG_ORDER_ID = asset.Field(Of String)("ORIG_ORDER_ID"), _
.AKR = asset.Field(Of String)("AKR"), _
.SPECIAL_PRICE = asset.Field(Of String)("SPECIAL_PRICE"), _
.SPECIAL_PRICE_CURRENCY = asset.Field(Of String)("SPECIAL_PRICE_CURRENCY"), _
.SPECIAL_PRICE_DATE = asset.Field(Of String)("SPECIAL_PRICE_DATE"), _
.LOCATION_ACCOUNT_NUMBER = asset.Field(Of String)("LOCATION_ACCOUNT_NUMBER"), _
.BILLING_ACCOUNT_NUMBER = asset.Field(Of String)("BILLING_ACCOUNT_NUMBER"), _
.PRODUCT_NAME = asset.Field(Of String)("PRODUCT_NAME"), _
.PLI = asset.Field(Of String)("PLI"), _
.ASSET_STATUS = asset.Field(Of String)("ASSET_STATUS"), _
.NET_UNIT_PRICE = asset.Field(Of String)("NET_UNIT_PRICE"), _
.NET_UNIT_PRICE_CURRENCY = asset.Field(Of String)("NET_UNIT_PRICE_CURRENCY"), _
.BILLING_START_DATE = asset.Field(Of String)("BILLING_START_DATE"), _
.BILLING_STOP_DATE = asset.Field(Of String)("BILLING_STOP_DATE"), _
.SITE = asset.Field(Of String)("SITE"), _
.STREET = asset.Field(Of String)("STREET"), _
.CITY = asset.Field(Of String)("CITY"), _
.COUNTRY = asset.Field(Of String)("COUNTRY"), _
.REGION = asset.Field(Of String)("REGION"), _
.ACCOUNT_CLASS = asset.Field(Of String)("ACCOUNT_CLASS"), _
.LAST_BILL_PRICE = asset.Field(Of String)("LAST_BILL_PRICE"), _
.ILA = asset.Field(Of String)("ILA"), _
.ASSET_NUMBER = asset.Field(Of String)("ASSET_NUMBER"), _
.SEA_USER = asset.Field(Of String)("SEA_USER") _
} Distinct
 
Back
Top