选择新的数据传输对象时,Linq 查询语法关闭

Linq query syntax is off when selecting into new data transfer obj

我对 linq 还很陌生,在语法方面遇到了一些问题。我没有费心尝试 运行 它,因为我可以从所有的红线中看出语法已经偏离。

本质上我只是想 select 从这个 table 到一个新的 DTO。我想如果你看看我的代码是什么,你可能会明白我想做什么。这是我的 linq 查询。

 var SubLoanTypes = _ctx.PrsnVaFhaTypes.Where(p => p.PrsnPk == PersonPk
                        into tmp
                        from sl in tmp.DefaultIfEmpty() 
                            select new ReviewerSubLoanTypeDto()
                            {
                                VaFHATypeID = sl.VaFHATypeID,
                                IsActivated = sl.IsActivated
                            }).OrderBy(x => x.VaFHATypeId).ToList();

redline over into tmp: into 在当前上下文中不存在。

问题是:我怎样才能修正语法让它工作?

就与我的类似的资源而言,我找不到任何东西。

这是一种简化的工作方式来完成我想要的:

  var SubLoanTypes = _ctx.PrsnVaFhaTypes.Where(p => p.PrsnPk == PersonPk)
            .Select(sl => new ReviewerSubLoanTypeDto()
            {
                VaFHATypeID = sl.VaFHATypeID,
                IsActivated = sl.IsActivated.Value
            }).OrderBy(x => x.VaFHATypeID).ToList();

谢谢