填充viewmodel中使用的类的表

时间:2016-03-01 08:57:55

标签: asp.net-mvc

我有一个包含两个类的viewmodel。 这些类与另一个类,一对多和一对一的关系有关。 如何将viewmodel中的数据传递到与其他表有关系的表中? 例如:

public class A
{
    public int a_id { get; set; }
    public string a_field1 { get; set; }
    ...
    //one-to-many with B
    public virtual ICollection<B> Bs { get; set; }
    //one-to-one with D
    public virtual D Ds { get; set; }
}
public class B
{
    public int B_id { get; set; }
    public string B_field1 { get; set; }
    ...
    public int a_id { get; set; }
    public int c_id { get; set; }
    // one-to-many with A , C
    public virtual A As { get; set; }
    public virtual C Cs { get; set; }
}
public class C
{
    public int C_id { get; set; }
    public string C_field1 { get; set; }
    ...
    // one-to-many with B
    public virtual ICollection<B> Bs { get; set; }
    // one-to-one with E
    public virtual E Es { get; set; }
}

我的视图模型来自A和B. 如何将信息添加到A中,其中包含来自B的集合和来自D的虚拟实例? 或者在B中有来自A和C的虚拟实例? 我是否更改了我的viewmodel? 请指导并告知我。

1 个答案:

答案 0 :(得分:0)

我找到了答案: 如果要从上面的类创建视图模型,则不需要在视图模型中使用虚拟集合或虚拟属性。 你应该只使用你需要的属性。 在此示例中,您的A和B视图模型将为:

public class VM_A_B
{

    public int A_id { get; set; }
    public int A_Field1 { get; set; }
    public int b_id { get; set; }
    public int b_Field1 { get; set; }
    //no need any virtual collection or virtual property
}

祝你好运。