Skip to content

PostgreSQL BatchDelete with join #8

@fabiopand

Description

@fabiopand

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]

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions