A navigation property allows you to navigate (duh!) from one entity to a "connected" entity.

E.g. if your users is connected to a role, you can use the "Role" navigation to read and inspect the role associated with the user.

EDIT:

if you want to load the user with LINQ-to-Entities, and also look at its "Role" navigation property, you have to explicitly include the "Role" entity in your LINQ query - EF does NOT load those navigation properties automatically for you.

 
// load user no. 4 from database
   User myUser =from u inUsers.Include("Role")
                 where u.ID =4
                 select u;

   // look at the role the user has
   string roleName = myUser.Role.Name;

 

 

OR:

 
 // load user no. 4 from database
   User myUser =from u inUsers
                 where u.ID =4
                 select u;

   // check to see if RoleReference is loaded, and if not, load it
   if(!myUser.RoleReference.IsLoaded)
   {
      myUser.RoleReference.Load();
      // now, the myUser.Role navigation property should be loaded and available
   }

   // look at the role the user has
   string roleName = myUser.Role.Name;
 

It's basically a programmatic equivalent to a foreign key relationship in a database - a connection between two objects. It basically "hides" or resolves a join between two tables (or two entities, in EF speak).

相关文章:

  • 2021-08-07
  • 2021-10-14
  • 2021-05-28
  • 2021-06-15
  • 2022-02-28
  • 2021-07-05
  • 2021-09-07
猜你喜欢
  • 2021-04-14
  • 2021-08-29
  • 2022-12-23
  • 2021-07-04
  • 2021-07-26
  • 2022-01-03
相关资源
相似解决方案