The -Filter parameter in Get-ChildItem supports only one AFAIK line / condition. Here are two ways to solve your problem:
You can use the -Include parameter, which takes multiple lines to match. This is slower than -Filter because it searches the cmdlet, and -Filter runs at the grant level (before the cmdlet receives the results so that it can process them). However, it is easy to write and work.
You can also use -Filter to get all the DLLs and then filter out the ones you want in the where statement.
Get-ChildItem -Filter "*.dll" -Recurse | Where-Object { $_.Name -match '^MyProject.Data.*|^EntityFramework.*' }
source share