Otis wrote:
Which llblgen pro version are you using? As I do recall this has been corrected in later versions (as in: inheritance relationships are also appended in GetDbCount())
Using 5.1.3 in LinqPad bound to my Adapter LLBLGen project.
"c:\Users\XYZ\AppData\Local\LINQPad\Drivers\DataContext\4.6\SD.LLBLGen.Pro.LINQPadDriver51 (b094696bc21c000a)\SD.LLBLGen.Pro.ORMSupportClasses.dll" is also 5.1.3
BTW, what would be the correct QuerySpec version of this low-level query:
var f = new EntityFields2(2) {UserFields.Id, UserFields.FirstName};
this.AdapterToUse.GetDbCount(f, new RelationPredicateBucket(UserFields.Email == "lowlevel@llblgen.xyz"), null, false).Dump();
output
SELECT COUNT(*) AS NumberOfRows
FROM (SELECT DISTINCT [XYZ].[dbo].[Users].[Id],
[XYZ].[dbo].[Users].[FirstName]
FROM [XYZ].[dbo].[Users]
WHERE ([XYZ].[dbo].[Users].[Email] = 'lowlevel@llblgen.xyz' /* @p1 */)) TmpResult
it counts distinct of 2 columns.
Thank you!
UPDATE: I've tried something like:
q = qf.Create().Distinct().Select(UserFields.Id).Where(UserFields.Email == "queryspec@llblgen.xyz");
this.AdapterToUse.FetchScalar<int>(qf.Create().Select(q.CountRow())).Dump();
doesn't return proper result, SQL:
SELECT TOP(1 /* @p3 */) (SELECT COUNT(*) AS [LPAV_]
FROM (SELECT DISTINCT [LPA_L2].[Id]
FROM ( [XYZ].[dbo].[Entities]
LEFT JOIN [XYZ].[dbo].[Users]
ON [XYZ].[dbo].[Entities].[Id] = [XYZ].[dbo].[Users].[Id])
WHERE (([LPA_L2].[Email] = 'queryspec@llblgen.xyz' /* @p1 */)
AND (([LPA_L2].[Id] IS NOT NULL)))) [LPA_L3]) AS [LLBLV_1]
FROM ( [XYZ].[dbo].[Entities] [LPA_L1]
LEFT JOIN [XYZ].[dbo].[Users] [LPA_L2]
ON [LPA_L1].[Id] = [LPA_L2].[Id])