title: what is difference between inverse property and foreign key in entity framework?
body: <p>I knew that Inverse Property is used when you have multiple relationships between classes. but I am confused between inverse property and foreign key property since both of them are used for defining relationships.</p>
  
  <pre><code>public class PrivilegeToDbOperationTypeMap : BaseEntity
  {
      [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity), Column(Order = 0)]
      public int PrivilegeToDbOperationTypeMapId { get; set; }
  
      [ForeignKey("privilegeLookup"), Column(Order = 1)]
      [Index("IX_PrivilegeLookupId_DbOperationLookupId", 1, IsUnique = true)]
      public int PrivilegeLookupId { get; set; }
  
      [ForeignKey("dbOperationTypeLookup"), Column(Order = 2)]
      [Index("IX_PrivilegeLookupId_DbOperationLookupId", 2, IsUnique = true)]
      public int DbOperationLookupId { get; set; }
  
      #region Navigation Properties
  
      public PrivilegeLookup privilegeLookup { get; set; }
  
      public DbOperationTypeLookup dbOperationTypeLookup { get; set; }
  
      [InverseProperty("privilegeToDbOperationTypeMap")]
      public ICollection&lt;RoleToPrivilegeDbOperationTypeMap&gt; roleToPrivilegeDbOperationTypeMaps { get; set; }
  
      #endregion Navigation Properties
  }
  </code></pre>