SQL Linq, Joins, returns 1st record over and over
-
So I wrote this expression, when I use the joins, I get the first record in the amount of row count. But when I remove the joins, I get all the records. could this be an error in my Database, in which I have to change the ID column names to make a match, or am I just missing something in my expression? So this works
pResults = _
(
From ca In context.Customer_Accounts
Where ca.DateOpened >= DbFunctions.AddDays(Today, -1)
Order By ca.DateOpened Descending
Select New accountIndex With
{
.ID = ca.ID,
.firstName = ca.FirstName,
.lastName = ca.LastName,
.accountName = ca.AccountName,
.secure_EmailAdddress = ca.EmailAddress,
.dateOpened = ca.DateOpened
}
).AsEnumerable()This return the first row multiple times
pResults = _
(
From ca In context.Customer_Accounts
Join ba In context.CUstomer_BillingAddress On ba.CustomerID Equals ca.ID
Join sa In context.Customer_ShippingAddress On sa.CustomerID Equals ca.ID
Where ca.DateOpened >= DbFunctions.AddDays(Today, -7)
Order By ca.DateOpened Descending
Select New accountIndex With
{
.ID = ca.ID,
.firstName = ca.FirstName,
.lastName = ca.LastName,
.accountName = ca.AccountName,
.secure_EmailAdddress = ca.EmailAddress,
.dateOpened = ca.DateOpened,
.billing_FirstName = If(ba.Name1 Is Nothing, Nothing, ba.Name1),
.billing_LastName = If(ba.Name2 Is Nothing, Nothing, ba.Name2),
.shipping_FirstName = If(sa.Name1 Is Nothing, Nothing, sa.Name1),
.shipping_LastName = If(sa.Name2 Is Nothing, Nothing, sa.Name2)
}
).AsEnumerable() -
So I wrote this expression, when I use the joins, I get the first record in the amount of row count. But when I remove the joins, I get all the records. could this be an error in my Database, in which I have to change the ID column names to make a match, or am I just missing something in my expression? So this works
pResults = _
(
From ca In context.Customer_Accounts
Where ca.DateOpened >= DbFunctions.AddDays(Today, -1)
Order By ca.DateOpened Descending
Select New accountIndex With
{
.ID = ca.ID,
.firstName = ca.FirstName,
.lastName = ca.LastName,
.accountName = ca.AccountName,
.secure_EmailAdddress = ca.EmailAddress,
.dateOpened = ca.DateOpened
}
).AsEnumerable()This return the first row multiple times
pResults = _
(
From ca In context.Customer_Accounts
Join ba In context.CUstomer_BillingAddress On ba.CustomerID Equals ca.ID
Join sa In context.Customer_ShippingAddress On sa.CustomerID Equals ca.ID
Where ca.DateOpened >= DbFunctions.AddDays(Today, -7)
Order By ca.DateOpened Descending
Select New accountIndex With
{
.ID = ca.ID,
.firstName = ca.FirstName,
.lastName = ca.LastName,
.accountName = ca.AccountName,
.secure_EmailAdddress = ca.EmailAddress,
.dateOpened = ca.DateOpened,
.billing_FirstName = If(ba.Name1 Is Nothing, Nothing, ba.Name1),
.billing_LastName = If(ba.Name2 Is Nothing, Nothing, ba.Name2),
.shipping_FirstName = If(sa.Name1 Is Nothing, Nothing, sa.Name1),
.shipping_LastName = If(sa.Name2 Is Nothing, Nothing, sa.Name2)
}
).AsEnumerable()