请参阅MVC中的多个表

时间:2014-05-07 09:30:56

标签: asp.net-mvc class

我可以在班上打电话/使用多张桌子吗?

e.g。

public class UserModel : UsersTable 

如何在此课程中调用另一个表格,例如CustomerTable,如下所示:

public class UserModel : UsersTable : CustomerTable

1 个答案:

答案 0 :(得分:2)

如果要在MVC ViewModel中重用实体层类(例如Entity Framework对象),我会使用Composition, and not inheritance来实现这一点,即:

public class UserModel  // View Model
{
    public UsersTable UsersTable // EF POCO
    {
       get;
       set;
    }
    public CustomerTable CustomerTable
    {
      get;
      set;
    }

    // Other random data needed for your `.cshtml` / View
}

这样,您可以无限扩展视图模型。毫无疑问,C#不支持多重继承(或mixins / traits),因此您的选项将受到继承的限制(并且它可以说是不合逻辑的,因为ViewModel不是{在OO意义上的{1}}。