【问题标题】:How to get a relational entity-object by Linq-to-Entity?如何通过 Linq-to-Entity 获取关系实体对象?
【发布时间】:2012-04-02 09:04:13
【问题描述】:
 using (var dataContext = new realtydbEntities())
        {
            var user =
                (
               from aspnet_Roles rol in dataContext.aspnet_Roles.Include("aspnet_Users")
               from aspnet_Users usr in rol.aspnet_Users
               where rol.RoleId == roleID
               select usr
                );
            return user.ToList();

        }

我要使用

usr.MemberShip.Email

MemberShip 是外部表的外部表

aspnet_Roles->aspnet_Users->Membership.Email

但我得到一个错误:ObjectContext 实例已被释放,不能再用于需要连接的操作。

如何在结果中包含成员资格对象??????

【问题讨论】:

    标签: c# asp.net .net linq linq-to-entities


    【解决方案1】:

    您很可能需要包括挂在 aspnet_User 表之外的 aspnet_Membership 表,如下所示:

    using (var dataContext = new realtydbEntities())
    {
          var user =
          (
              from aspnet_Roles rol in dataContext.aspnet_Roles.Include("aspnet_Users")
              from aspnet_Users usr in rol.aspnet_Users.Include("aspnet_Membership")
              where rol.RoleId == roleID
              select usr
          );
       return user.ToList();
     }
    

    【讨论】:

    • 'System.Data.Objects.DataClasses.RelatedEnd.Include(bool, bool)' 由于其保护级别而无法访问
    • 我没有足够的信息自己做,包含字符串需要有正确的名称。您能否根据您的 EF 模型检查这是否正确?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-29
    • 2011-04-27
    • 2013-06-05
    • 2011-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多