There are times when entities don’t need navigation properties on both sides of the relationship. This is an example you can use to map to an existing database or generate a brand new database on Windows Azure SQL Database.
The ERD shows a Many to Many relationship between the FlightLog and the Airport entities. The requirements for the current model has no need for Airport to have a Navigation Property of FlightLogs.
Using Entity Frame Work Code First, the following statement can be used in the EntityTypeConfiguration to configure the relationship.
HasMany(r => r.Airports) .WithMany() // No navigation property here .Map(m => { m.MapLeftKey("FlightLogId"); m.MapRightKey("AirportId"); m.ToTable("BridgeTableForAirportsAndFlightlogs"); });
FlightLog has many Airports, the relationship is held in an intermediate table called BridgeTableForAirportsAndFlightlogs. By not specifying a property for the inverse Navigation Property, a unidirectional Many to Many relationship is created.