Let´s supose we try to do something like this:
context.Items.Join(context.InnerItems, item => item.Id, inner => inner.ItemId, (item, inner) => new { ItemName = item.Name, InnerName = inner.Name }).BatchDelete();
It will generate a SQL like this:
DELETE [i] FROM [Item_29e378] AS [i] INNER JOIN [InnerItem_29e378] AS [i0] ON [i].[Id] = [i0].[ItemId]
But PostgreSQL does not support delete with inner join. I think that it´s possible to change QuerySqlGenerator class a little bit and translate delete join to with using statement, resulting in something like this:
DELETE FROM [Item_29e378] AS [i] USING [InnerItem_29e378] AS [i0] WHERE [i].[Id] = [i0].[ItemId]
Let´s supose we try to do something like this:
context.Items.Join(context.InnerItems, item => item.Id, inner => inner.ItemId, (item, inner) => new { ItemName = item.Name, InnerName = inner.Name }).BatchDelete();It will generate a SQL like this:
DELETE [i] FROM [Item_29e378] AS [i] INNER JOIN [InnerItem_29e378] AS [i0] ON [i].[Id] = [i0].[ItemId]But PostgreSQL does not support delete with inner join. I think that it´s possible to change QuerySqlGenerator class a little bit and translate delete join to with using statement, resulting in something like this:
DELETE FROM [Item_29e378] AS [i] USING [InnerItem_29e378] AS [i0] WHERE [i].[Id] = [i0].[ItemId]