1

在 EF4 Vs2010 C# 上工作。有一个列表,它的类型是List。想要检索它的关系实体列表信息。在我的下图中 _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);
        }
    }               
}

在此处输入图像描述

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

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

4

0 回答 0