如何在Razor Pages Web应用程序中使用ViewModel

时间:2019-06-29 21:48:55

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

我有一个Models类ProjectDepo,它定义了3个属性。这已经在数据库中使用这些字段创建了一个表。我使用了脚手架来创建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; }...
}

2 个答案:

答案 0 :(得分:0)

如果要将映射的绑定属性映射到模型,可以使用AutoMapper,则AutoMapper是此状态的最佳实践。

例如:

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

答案 1 :(得分:0)

(首先,我收到通知,有人不喜欢我选择不将“ sql”大写;我使用括号,有多余的空格,并在问题中列出了该类。绝对没有一个问题使我的问题更容易或更简单难以理解。“建议”和“批准”的修改根本没有帮助问题。它们没有提供解决方案,也没有使问题更清楚-他们只是使问题与建议者格式相符。) (//咆哮结束)

无论如何,在我寻找一种无需创建Controller即可处理ViewModel的方法时,就可以解决此问题。

我将继续在其他地方使用不同的搜索条件来寻找答案。

感谢所有花时间阅读我的问题的人,谢谢。

卡盘