我应该如何将每个层次结构实体的表实现为视图

时间:2014-07-09 14:35:25

标签: asp.net-mvc entity-framework table-per-hierarchy

我已经在每个实体中实现了每个层次结构的模式,它看起来像这样:

this

atm,sube和acikhava实体基本上来自mekan实体。这些没有问题。好吧,我想知道的是,我应该如何将其实现到CRUD视图中。

所有这些实体都有自己的视图模型,而mekan本身并不意味着自己创建,用户只能创建atm,sube或acikhava,因为mekan是一个抽象实体。但我不能只将视图模型设置为基本实体并继续,因为它不是意味着以这种方式使用,而是抛出错误。

现在,我应该将此派生实体表现为完全不同的实体,并为每个不同的操作创建它们的单独视图吗?或找到另一种方法来实现这一目标。

感谢。

1 个答案:

答案 0 :(得分:1)

您可以为Mekan创建一个视图模型:

public class MekanViewModel {
   public AtmViewModel Atm {get;set;}  // you said you already created these view models
   public SubeViewModel Sube {get;set;}
   public AcikhavaViewModel Acikhava {get;set;}
}

您的观点会被强烈输入:

@model MekanViewModel

@Html.TextBoxFor(m=>m.Atm.Atm_TerminalNo)
etc

您是接收数据的控制器将收到MekanViewModel

[HttpPost]
public ActionResult Create(MekanViewModel mekan)