.net – 实体框架中的导航属性是什么?

我在我的EF图中看到很多这些导航属性,但不知道他们是真正的。像我在桌子上看到的,我有aspnet_Users属性。

这些是什么?他们是否帮助加盟?或者是什么?

Error 2
Error 3007: Problem in Mapping Fragments starting at lines 1201, 1423: 
Non-Primary-Key column(s) [Field2] are being mapped in both fragments 
to different conceptual side properties - data inconsistency is possible 
because the corresponding conceptual side properties can be independently 
modified.
导航属性允许您从一个实体导航(duh!)到“已连接”实体。

例如。如果您的用户连接到角色,则可以使用“角色”导航来读取和检查与用户相关联的角色。

编辑:

如果要使用LINQ到实体加载用户,并查看其“角色”导航属性,则必须在LINQ查询中明确包含“角色”实体 – EF不会为您自动加载导航属性。

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

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

要么:

   // load user no. 4 from database
   User myUser = from u in Users
                 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;

它基本上是一个与数据库中的外键关系的程序化等价物 – 两个对象之间的连接。它基本上“隐藏”或解决两个表之间的连接(或两个实体,在EF中)。

马克

http://stackoverflow.com/questions/1262307/what-are-navigation-properties-in-entity-framework-for

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:.net – 实体框架中的导航属性是什么?