0

我已经在我的一个实体中实现了 table-per-hierarchy 模式,它看起来像这样:

这个

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

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

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

谢谢。

4

1 回答 1

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)
于 2014-07-09T15:57:30.977 回答