In LINQ to SQL, the cross join will produce a Cartesian product of the collection items. In cross join, we don't need to write any condition to join two tables, and it makes multiplication of record number from both the tables that mean each row on the left table will relate to each row of the right table.
Following is the syntax of using LINQ to SQL Cross Join to get the Cartesian product of collections.
C# Code
VB.NET Code
If you observe the above syntax, we used “EmployeeDetails”, “Departments” tables to get the Cartesian product of data without using any join.
Before we start implementing LINQ to SQL cross join example, first, we need to create a database with required tables and map those tables to LINQ to SQL file (.dbml). If you don't know the process, don't worry check this link create and map database tables to LINQ to SQL file (.dbml).
Once we create and map required tables to the .dbml file now, we will show data in our application for that Right-click on the application à select Add à New Item à Select Web Form à Give name as Default.aspx and click OK button.
Now open the Default.aspx page and write the code as shown below.
Now open the code behind file and write the code as shown below.
C# Code
VB.NET Code
If you observe the above example, we are getting data from the “EmployeeDetails” and “Departments” table without using any join.
Following is the result of the LINQ to SQL cross join example.
This is how we can use LINQ to SQL cross join in c#, vb.net to get the cartesian product of data from multiple tables based on our requirements.