【问题标题】:Hybrid implementation for an entity and MVC实体和 MVC 的混合实现
【发布时间】:2014-10-21 02:23:44
【问题描述】:

使用 Microsoft Entity Framework 和 MVC,我有以下要求,实现一个实体,其中一些属性属于 sql server DB 中的一个表,而其他属性是从同一个表上的 XML 列加载的,我想要创建属性以便将存储在 XML 中的一些值公开给 MVC 视图和控制器。

假设我有实体“笔记本电脑”,从处理器和内存等表中加载列;为了灵活性,该表有一个包含更多数据的 XML 列,我想使用“笔记本电脑”实体的属性公开 XML 中的一些值,如 dvd、蓝牙、usb 等。

我尝试使用名为“Laptop”的部分类,尝试声明和添加用于维护附加属性的例程,但这不起作用,在此部分类中声明的附加属性在用于 MVC 等上层的“笔记本电脑”实体。

我的问题与如何从 XML 中提取值无关,更多地依赖于如何将实体与自定义属性相结合,实体是自动创建更新模型的,我需要一种方法来在其他地方定义其他属性,在设计时不会被 IDE 自动删除,因此我首先想到的是部分类。

有什么想法吗?

【问题讨论】:

  • 请显示重现问题的最少代码。

标签: c# entity-framework asp.net-mvc-4 partial-classes hybrid


【解决方案1】:

您将需要某种dynamic 对象,因此请尝试ExpandoObject 类。您可能必须将 ExpandoObject 与 LINQ 表达式树结合使用,以获取 XML 列中的数据并将其转换为 fieldnamefieldvalue 数组或其他动态对象。

Here's an example 可能适合您的用例:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-04
    • 2019-02-16
    • 1970-01-01
    • 2012-02-19
    • 1970-01-01
    • 2018-05-01
    相关资源
    最近更新 更多