【发布时间】:2014-04-10 04:49:15
【问题描述】:
代码优先实体框架中的继承存在一些问题。
我使用代码优先模式实现了继承(也就是说,我有一个基类 Request 和其他类的子类 NewSpaceRequest.etc。
就功能而言,框架/语言似乎并没有提供太多的功能。
例如,我想要一个视图,其中包含所有请求的列表,根据请求的类型使用不同的文本。我无法找到一种简单的方法来做到这一点,因为我总是必须对 Request 进行类型转换,这意味着我失去了所有子类功能和我无法分辨我拥有什么类。
无论如何,我找到了一种解决方法,并且我在视图中有一个请求列表。我希望允许用户单击一个链接(列表中的每个请求一个链接)并被发送到一个会根据请求类型而改变的操作。问题是,到目前为止,我所有的请求都是Request 类型的(我相信这是 foreach 的要求),所以我不知道它们到底是什么。
在使用代码优先的继承时,我经常遇到这样的小问题。难道我做错了什么?
【问题讨论】:
-
你为什么需要向上转换到
Request? -
要明确一点:您的
Request不是 HttpRequest 而是您自己定义的类,是吗? -
@haim770:就我而言,正确使用 foreach。转换为 var 更没用。
标签: c# asp.net-mvc entity-framework inheritance