Is is possible to map a many to many relationship without having a navigation property on one of the ends? For example I have some widgets and some users who can star partic
You can and this case must define the many-to-many relationship with Fluent API:
modelBuilder.Entity<User>()
.HasMany(u => u.StarredWidgets)
.WithMany() // <- no parameter here because there is no navigation property
.Map(m =>
{
m.MapLeftKey("UserId");
m.MapRightKey("WidgetId");
m.ToTable("UserWidgets");
});