我正在使用如下所示的 linq 查询
var result = from posts in repository.JobPosts
orderby posts.PostDate descending
select posts;
我有一个属性类 JobPost,它具有与上面查询中的表相同的列名和列数。我使用如下所示的 JobPost 类类型的方法创建了另一个模块类
public class MainPageModel
{
public IEnumerable<JobPost> jobPost { get; set; }
public SearchTerms searchTerms { get; set; }
}
我的 JobPost 是另一个模块/属性类,与上面的 JobPosts 表具有相同的行。考虑到两者属于同一列,我试图将我的查询结果直接转换为我的模块。我将查询修改为
IEnumerable<JobPost> res =(IEnumerable<JobPost>)
(from posts in repository.JobPosts
orderby posts.PostDate descending
select posts) ;
我上面的 linq 返回了行查询
SELECT
*
FROM [dbo].[JobPosts] AS [Extent1]
ORDER BY [Extent1].[Id] ASC
有什么方法可以返回我的查询结果(即行)并将它们转换为我的 IEnumerable 类,因为它们属于相同的列。
如有任何帮助,我们将不胜感激。
编辑
我计划使用如下结果查询填充我的类。
MainPageModel model = new MainPageModel
{
jobPost = res,
searchTerms = search
};
仅仅因为它们具有相同的属性,并不意味着您可以从一个转换为另一个。至少您必须明确映射这些属性:
IEnumerable<JobPost> res =(IEnumerable<JobPost>)
(from posts in repository.JobPosts
orderby posts.PostDate descending
select new JobPost{
Field1 = posts.Field1,
Field2 = posts.Field2,
}) ;
你可能想看看AutoMapper同样,因为它简化了(有一些开销!)这种任务
我是一名优秀的程序员,十分优秀!