As inheritance is involved, there is probably a type descriminator against the entities you have stored you can filter against and it appears as you have just one table that you have an arrangement called Table Per Hierachy (TPH)
Check this link out:
It refers to an OfType<T>()
method which might do your bidding.
EDIT(Corrected to working example)
With a usage something like :
var rootItems = context.Items.OfType<BaseItem>().Except(context.Items.OfType<ChildItem>());
Just the root items are pulled back in a TPH scenario.
SQL:
SELECT
1 AS [C1],
[Except1].[Discriminator] AS [C2],
[Except1].[Id] AS [C3],
[Except1].[Name] AS [C4],
[Except1].[Parent_Id] AS [C5]
FROM (SELECT
[Extent1].[Discriminator] AS [Discriminator],
[Extent1].[Id] AS [Id],
[Extent1].[Name] AS [Name],
[Extent1].[Parent_Id] AS [Parent_Id]
FROM [dbo].[BaseItems] AS [Extent1]
WHERE [Extent1].[Discriminator] IN (N'ChildItem',N'BaseItem')
EXCEPT
SELECT
N'ChildItem' AS [C1],
[Extent2].[Id] AS [Id],
[Extent2].[Name] AS [Name],
[Extent2].[Parent_Id] AS [Parent_Id]
FROM [dbo].[BaseItems] AS [Extent2]
WHERE [Extent2].[Discriminator] = N'ChildItem') AS [Except1]}