【发布时间】:2014-07-05 22:39:21
【问题描述】:
这个问题可能看起来很基础,但我对 C# 的这些方面真的很陌生。我很抱歉。
我正在开发一个 ASP.NET 4 Web 窗体应用程序。
这是我的书桌
书
BookID (pk) 书名 作者ID 主题ID 份数
这是我的作者表
作者
作者ID(pk) 作者姓名
主题表
主题
主题ID(pk) 主题名称
我已经从数据库中的这些表生成了 ADO.NET 模型类。
我为我的 Book 模型(包含 CRUD 方法)创建了一个业务类,以便我可以使用 ObjectDataSource 对 Book 执行 CRUD 操作。
这是我的商务舱的get方法
public static IEnumerable<Book> GetAllBooks()
{
var result = from author in db.Authors
join book in db.Books on new { AuthorID = author.AuthorID } equals new { AuthorID = book.AuthorID }
join subject in db.Subjects on new { SubjectID = book.SubjectID } equals new { SubjectID = subject.SubjectID }
select new { BookID = book.BookID, BookName = book.BookName, Copies = book.Copies, AuthorName = author.AuthorName };
return result.ToList();
}
这个方法的返回类型是 IEnumerable 但是由于我现在返回的是一个匿名对象的列表,所以这个返回类型是无效的。
我知道我可以通过扩展 Book 模型类使其包含 AuthorName 和 SubjectName 来解决这个问题,然后使用该模型类,但我想避免编写更多代码。
还有其他方法可以返回这个匿名对象列表吗?
【问题讨论】:
标签: asp.net ienumerable objectdatasource