【问题标题】:How to use ViewModel in a Razor Pages web app如何在 Razor Pages Web 应用程序中使用 ViewModel
【发布时间】:2019-06-29 21:48:55
【问题描述】:

我有一个模型类ProjectDepo,它定义了 3 打属性。这已经在数据库中创建了一个包含这些字段的表。我使用 Scaffolding 创建 iCRUD Razor 页面。所有字段都正确存在,并且正在正确填充数据库表。

我想创建一个仅包含其中一些字段/属性的 iCRUD 脚手架并过滤结果。我会使用 ViewModel 只选择那些特定的属性并查询来过滤我的结果以作为我的脚手架的基础。

创建 ViewModel 类后,如何指定这些属性来自哪个 Model 类?在哪里可以添加SQL 语句来过滤结果?

我已搜索但未找到正确的术语。一切都是关于将 ViewModel 绑定到 View,我正在尝试将数据获取到 ViewModel。

感谢您的帮助。 夹头

(这是我的整个 ViewModel 类,缩写)

public class RequestReporterViewModel

{
    //All fields are from ProjectDepo class
    public int Id { get; set; }  
    public string OrderingPOCName { get; set; }...
}

【问题讨论】:

    标签: c# razor asp.net-mvc-viewmodel


    【解决方案1】:

    (首先,我收到通知说有人不喜欢我选择不将“sql”大写;我使用了括号,有额外的空格并在我的问题中列出了该类。绝对没有一个让我的问题更容易或更容易很难理解。“建议”和“批准”的编辑根本没有帮助这个问题。他们没有提供解决方案,没有让问题更清晰——他们只是让问题符合建议者的格式。) (//吐槽结束)

    无论如何,这个问题可以结束,因为我正在寻找一种无需创建控制器即可处理此 ViewModel 的方法。

    我会在别处使用不同的搜索条件继续寻找答案。

    感谢任何花时间阅读我的问题的人,非常感谢。

    查一下

    【讨论】:

    • 不幸的是,Stack Overflow 对此有疑问,Chuck。许多贡献者似乎认为他们是“最优秀的”,而不是就实际提出的问题提供建议,他们提供关于你的基本原理、设计模式或代码等的无益的 cmets。有时这可能是一个非常不受欢迎的地方。
    【解决方案2】:

    如果您想将视图的绑定属性映射到模型,您可以使用AutoMapper,AutoMapper 是这种状态的最佳实践。

    你的例子:

    Mapper.Map(RequestReporter, RequestReporterViewModel, typeof(RequestReporter), typeof(RequestReporterViewModel));
    

    【讨论】:

    • 感谢您抽出宝贵时间提供答案。我正在寻找应该在哪里编写只包含整个模型的几个字段的 sql。
    猜你喜欢
    • 2020-09-28
    • 2021-05-17
    • 2019-03-05
    • 2018-03-12
    • 2020-12-04
    • 2021-07-30
    • 2021-10-25
    • 1970-01-01
    • 2023-03-24
    相关资源
    最近更新 更多