加入后将不同类型返回到视图(ASP.NET MVC2 C#)
Posted
技术标签:
【中文标题】加入后将不同类型返回到视图(ASP.NET MVC2 C#)【英文标题】:Returning different types to a View after a join (ASP.NET MVC2 C#) 【发布时间】:2011-12-01 16:36:30 【问题描述】:这是我的问题:我有一个 sql 查询,经过一系列连接后,它会从不同的表中获取一些数据。
这些数据属于不同的类别。如何从视图中访问这些数据?
即:
Classes:
-Customers (id,name)
-Books (id, author, title)
-BookCopies (id, idBook)
-Rentals(idCustomer, dateRental, dateRestituition)
我想要一个列表(BookCopies.id、Customer.id、Customers.name、Books.title、Rentals.dateRental、Rentals.dateRestituition)。
我该怎么做?
【问题讨论】:
您如何从联接中检索数据?只需使用视图所需的属性创建一个 View Model 类,然后从数据库中填充。 【参考方案1】:如果我正确理解您的问题,您正在寻找一个包含 SQL 视图信息的类。如果是这种情况,那么您可以创建一个包含各种字段的新类:
public class RentalDetails
public int BookId get; set;
public string BookTitle get; set;
public int CustomerId get; set;
public string CustomerName get; set;
public DateTime DateRental get; set;
public DateTime DateRestitution get; set;
为了使填充此类更容易,您可能希望在 SQL 视图中提供别名。例如:
SELECT BookCopies.id As BookId ,
Customer.id As CustomerId
etc...
【讨论】:
以上是关于加入后将不同类型返回到视图(ASP.NET MVC2 C#)的主要内容,如果未能解决你的问题,请参考以下文章
Asp.net MVC 中Controller返回值类型ActionResult
如何缓存将图像返回到asp.net mvc中的视图的操作方法的输出?
如何重定向到 $.AJAX 上的视图完成 - asp.net mvc 3