【发布时间】:2016-06-02 02:11:00
【问题描述】:
我刚刚阅读了很多关于 Table per Type/TPT 和鉴别器专栏的帖子,但是,在我的情况下,我并不是真的更聪明。
举个例子:我有一个 MVC 应用程序,它的模型名为 Foo。这有一个名为 Bar 的属性,它在其他地方以一对多的形式存储。
我是唯一一个使用这个应用程序的人,我不想花太多时间在它上面,所以我只想以最快的方式将项目添加到Bar 的列表中。因此,我创建了一个名为FooViewModel 的新类,它派生自Foo,并有一个名为BarTemp 的字符串属性。
基本思想是我可以在标准文本字段中输入111, 222 , 333,444,然后让编辑/创建控制器清除空格并拆分为逗号列表。
我想不通的是,视图模型永远不会被写入 EF,所以,它为什么要创建鉴别器列。
当我尝试构建迁移时,它似乎尝试将 BarTemp 添加到数据库中。
此后我创建了一个名为 same 的新类型,但我没有派生,而是将 Foo 和 BarTemp 作为其中的属性,它们可以按预期工作,但是,我仍然不明白发生了什么并且会想了解更多。
【问题讨论】:
标签: c# asp.net-mvc entity-framework inheritance