You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm working with a SQL Server database and trying to execute a query that joins two tables: ParameterClasses and EquipmentClasses. Both tables contain a column named Id. However, the query fails with the following errors:
Invalid column name 'ParameterClasses.EquipmentClassId'
Invalid column name 'EquipmentClasses.Id'
Invalid column name 'ParameterClasses.Id'
Invalid column name 'ParameterClasses.Name'
Here’s the code I'm using to build the query:
query = factory.Query("ParameterClasses")
.Join("EquipmentClasses", "ParameterClasses.EquipmentClassId", "EquipmentClasses.Id")
.Select(
"ParameterClasses.Id as ParameterClassId",
"ParameterClasses.Name",
"EquipmentClasses.Id as EquipmentClassId",
"EquipmentClasses.Name as EquipmentClassName"
);
To verify the generated SQL, I also compiled the query using the following code:
var compiler = new SqlServerCompiler();
var sqlResult = compiler.Compile(query);
Console.WriteLine(sqlResult.Sql);
The generated SQL (sqlResult.Sql) looks correct and executes successfully when run directly in SQL Server:
SELECT [ParameterClasses].[Id] AS [ParameterClassId],
[ParameterClasses].[Name],
[EquipmentClasses].[Id] AS [EquipmentClassId],
[EquipmentClasses].[Name] AS [EquipmentClassName]
FROM [ParameterClasses]
INNER JOIN [EquipmentClasses]
ON [ParameterClasses].[EquipmentClassId] = [EquipmentClasses].[Id]
I’d appreciate any guidance you can provide to resolve this issue within the application.
Activity