The following is working with EF Core 5.
The relationships are defined in the DbContext class or if you elected to split out configurations each model is placed into a separate class.
So let's say I have a Customer model that has a navigation (relationship) to ContactType model, in the customer configuration we would see the following setting up the relation between the two models.
entity.HasOne(d => d.ContactTypeIdentifierNavigation)
.WithMany(p => p.Customers)
.HasForeignKey(d => d.ContactTypeIdentifier)
.HasConstraintName("FK_Customers_ContactType");
Then in the customer model you would have the following to collect data from the ContactType model
public virtual ContactType ContactTypeIdentifierNavigation { get; set; }
I've use EF Power Tools for a while now and never had your issue. Now one way to verify everything is setup correctly, go into SQL-Server Management Studio, traverse to your database, right click on database diagram and if there are none, create one. A relationship done right looks like the following in regards to the case above, Customers ContactType. If the relationship is incorrect EF Core Power Tools does what it's told so this may be the issue.
Finally, you need to indicate the navigation should be included e.g. (note the use of Include)
using var context = new NorthwindContext();
Customers results = context.Customers
.Include(customer => customer.ContactTypeIdentifierNavigation)
.FirstOrDefault(customer => customer.CustomerIdentifier == 1);
Async version
public static async Task<Customers> Demo()
{
await using var context = new NorthwindContext();
return await context.Customers
.Include(customer => customer.ContactTypeIdentifierNavigation)
.FirstOrDefaultAsync(customer => customer.CustomerIdentifier == 1);
}