如何从列表中访问关系实体值

时间:2013-10-30 04:47:14

标签: .net entity-framework generics reflection reflection.emit

使用EF4 Vs2010 C#。有一个列表,它的类型是列表 .want来检索它的关系实体列表信息。在我的下图中, _entity 是我的基本列表,此列表关系实体名称为 PurQuotationDetails 。我想用值访问这个关系实体属性。

我使用下面的语法来访问关系实体。

foreach (PurQuotationMaster itemMaster in _entity)
{
    foreach (var itemDetail in item.PurQuotationDetails)
    {

    }
}

不能使用上面的语法原因是,想要写一个通用语法,我只知道父实体类型,不知道关系实体类型。我使用下面的语法来识别关系实体但失败来访问它的属性和值。帮助我检索它的值。

foreach (PurQuotationMaster item in _entity)
{
    foreach (MemberInfo mi in item.GetType().GetMembers().Where((MemberInfo member) => member.MemberType == MemberTypes.Property))
    {
        if (mi.ToString().Contains("EntityCollection`1"))
        {
            var prop = item.GetType().GetProperty(mi.Name);
        }
    }               
}

enter image description here

可能需要使用 RestrictedMemberAccess(RMA)来访问非公开成员。理解这个概念有点棘手。需要帮助在我的上述情况下使用 RMA 语法。

如果有任何疑问请咨询。任何类型的建议将不胜感激,请帮助我编写语法来检索我想要的输出。谢谢高级。

0 个答案:

没有答案
相关问题