代码之家  ›  专栏  ›  技术社区  ›  Valentin V

如何克服模型-视图-模型阻抗失配?

  •  3
  • Valentin V  · 技术社区  · 16 年前

    我很困惑。

    (Id, CustomerId, RegionId,...N), 
    

    没什么有趣的,都是外键。现在我需要在asp.net查看。我创建一个视图模型

    (Id, CustomerId, Customer, RegionId, Region, CustomersSelectList, RegionsSelectList). 
    

    我看到了可能的解决方案:

    1. 创建第三个类,它将是一个l2s模型+连接值,并通过连接和投影填充该类。然后将这个类自动映射到我的viewmodel。

    2. 创建用于查询的数据库视图(视图都是连接在一起的必需表)。

    谢谢您。

    更新: 让我澄清一下。我需要能够得到我的企业实体的完整平面表示。

    我应该通过linq执行sql连接并直接填充ViewModel吗?

    我是否应该停止将L2S类用作业务实体,从头开始创建一个新的业务实体类,并将L2S视为哑ORM?

    1 回复  |  直到 16 年前
        1
  •  1
  •   Jon Norton    16 年前

    我对automapper还不够熟悉,不知道它是否真的能工作,但我认为您可以分两步来完成。首先,让automapper映射彼此镜像的所有属性。下一步,要么在其他属性中包含可以获取正确值的逻辑,要么从启动映射的对象中设置它们。