C# 手动创建实体具有外键的实体列表

C# 手动创建实体具有外键的实体列表,c#,asp.net-mvc-3,entity-framework,C#,Asp.net Mvc 3,Entity Framework,我正在开发一个asp.NETMVC3应用程序。有一个数据库,但目前我无法向其中添加数据,但项目仍然首先使用实体框架和数据库,因此我在解决方案中创建了实体。我想要的是创建一个实体列表,一旦数据库可以自由使用,这些实体就应该表示查询到数据库的结果 这是EF创建的实体: namespace DataAccess { using System; using System.Collections.Generic; public partia

我正在开发一个asp.NETMVC3应用程序。有一个数据库,但目前我无法向其中添加数据,但项目仍然首先使用实体框架和数据库,因此我在解决方案中创建了实体。我想要的是创建一个实体列表,一旦数据库可以自由使用,这些实体就应该表示查询到数据库的结果

这是EF创建的实体:

    namespace DataAccess
    {
        using System;
        using System.Collections.Generic;

        public partial class MCS_DocumentFields
        {
            public long Id { get; set; }
            public int RowNo { get; set; }
            public int ColumnNo { get; set; }
            public Nullable<bool> IsRequired { get; set; }
            public string QuestionText { get; set; }
            public string FieldValue { get; set; }

            public virtual MCS_ContentTypes MCS_ContentTypes { get; set; }
            public virtual MCS_Documents MCS_Documents { get; set; }
            public virtual MCS_Fields MCS_Fields { get; set; }
        }
    }

I have Extensions so this is the extension for this entity :

namespace DataAccess
{
    [MetadataType(typeof(MCS_DocumentFieldsMetaData))]
    public partial class MCS_DocumentFields : BaseEntity
    {

    }

    internal sealed class MCS_DocumentFieldsMetaData
    {
        [Required]
        public int RowNo { get; set; }

        [Required]
        public int ColumnNo { get; set; }
    }
}

问题是这个-
public virtual MCS_Fields MCS_Fields{get;set;}
表示数据库中的
FiedlId
FK,我需要在我的
DocumentData
中为每个记录添加该值。但是,我不能直接使用
FieldId
,相反,我可以使用实体
MCS\u字段
,但我不知道如何从那里开始。显然,仅仅键入
MCS\u Fields.Id
是不起作用的。。。那么我如何在我的列表中模拟它呢?

我想出来了:只需在每个实例的末尾添加以下内容:
MCS\u Fields=new MCS\u Fields{MCS\u QuestionTypes=new MCS\u QuestionTypes{Id=1}
。我有一个额外的实体,但这是它的工作方式。然后检索值-
DocumentData[i].MCS\u Fields.Id
 List<MCS_DocumentFields> DocumentData = new List<MCS_DocumentFields>()
            {
                new MCS_DocumentFields {Id = 1, RowNo = 1, ColumnNo = 1, IsRequired = true, QuestionText = "alabala", FieldValue = ""},
                new MCS_DocumentFields {Id = 2, RowNo = 1, ColumnNo = 2, IsRequired = true, QuestionText = "", FieldValue = "yes"},
                new MCS_DocumentFields {Id = 3, RowNo = 2, ColumnNo = 1, IsRequired = true, QuestionText = "alabala", FieldValue = "yes"},
                new MCS_DocumentFields {Id = 4, RowNo = 3, ColumnNo = 1, IsRequired = true, QuestionText = "alabala", FieldValue = "yes"},
                new MCS_DocumentFields {Id = 5, RowNo = 4, ColumnNo = 1, IsRequired = false, QuestionText = "alabala", FieldValue = "no"},
                new MCS_DocumentFields {Id = 6, RowNo = 4, ColumnNo = 2, IsRequired = true, QuestionText = "alabala", FieldValue = "no"},
            }