OQL Delete corresponds to the Delete statement of SQL-92:
|
SelectQuery qryCustomer
= OQL .Select(NW.Customer.CustomerID) .From(NW.Customer) .Where(NW.Customer.ContactTitle == "Owner"); DeleteQuery delOrder =
OQL .DeleteFrom(NW.Order) .Where(NW.Order.CustomerID.In(qryCustomer)); |
The above OQL can be written in the way of object expression as follows:
|
DeleteQuery delOrder =
OQL .DeleteWhere(NW.Order == (NW.Customer.ContactTitle == "Owner")); |
The above Delete statement will generate the following SQL:
|
The SQL statements generated as follows (taking SQL Server as an example) |
|
DELETE FROM
[Orders] WHERE
[Orders].[CustomerID] IN
(
SELECT [Customers].[CustomerID]
FROM [Customers]
WHERE
[Customers].[ContactTitle] = 'Owner'
) |
Related Topics