首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何首先处理实体框架5代码和MVC中的派生类型?

如何首先处理实体框架5代码和MVC中的派生类型?
EN

Stack Overflow用户
提问于 2013-04-09 09:43:33
回答 1查看 254关注 0票数 2

我正在研究一组类来表示实体框架中的资产登记册。为了简单地回答这个问题,我建立了三个类:

资产

包含适用于所有资产类型的字段,例如资产ID、序列号、购买日期

计算机

派生自Asset,添加特定于计算机资产的字段,例如MAC地址、主机名

监视器

从资产派生,添加特定于监视资产的字段,例如大小

在纯C#中,我可以通过调用实例化这些类,例如:

代码语言:javascript
运行
复制
Computer DansComputer = new Computer(){ AssetID=12345, SerialNumber="12345", Hostname="DanComputer"};

我用于捕获新资产的UI要求用户输入有关其新资产(从Asset)类的基本数据,然后区别对待,例如,他们正在创建计算机资产。我想知道这是不是不够优雅..。在它当前的形式中,不管资产类型如何,执行插入的伪代码是:

  1. 捕获关于资产类的数据
  2. 通过EF将这些数据提交到资产表
  3. 重定向到依赖于资产类型的视图,以捕获特定类型的数据,例如新的计算机视图
  4. 检索以前提交的资产,将其转换为适当的类型(例如计算机),并将特定于计算机的字段投影到新对象。
  5. 将计算机提交到数据库。

我不喜欢两种观点之间的交集。

是否会有一种“有效”方法,即用户选择他们希望添加的资产类型(例如计算机、打印机),然后显示一个创建新计算机/打印机的视图?这个解决方案听起来不太理想,因为:

  1. 我需要为每种类型的资产起草一个MVC视图,这似乎违反了枯燥的原则.
  2. 我需要手动保存所有可能的资产类型的列表,并显示某种类型的UI,以允许用户选择他们想要使用的类型。

但是,我想不出任何其他方法来创建这个UI。

我是不是漏掉了一些很明显的东西?

EN

回答 1

Stack Overflow用户

发布于 2013-04-09 09:49:58

我认为最简单的方法是改变你的脚步:

  1. 给用户一个选择:它是哪一个资产?
  2. 对这一资产采取适当行动
  3. 为资产呈现公共部分的视图(例如,部分视图),并为选定的部分指定视图
  4. 检索数据并将其提交给数据库。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15898605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档