考虑以下SQL语句:
SELECT tfd.[ID],
tfd.[TaxFormID],
tfd.[TaxCodeLineNumber],
tfd.[TaxCodeLineDescription]
FROM [TaxCode].[TaxFormDetail] tfd
WHERE tfd.[TaxFormID] = (SELECT TOP 1 cri.[TaxFormID] FROM [settings].[CompanyReportInformation] cri)
数据库在" cri"中有一条记录。桌子和我想作为一个预防措施做一个前一个记录。
我有以下LINQ语句不起作用,是我需要帮助的地方。
var _query = (
from tfd in TaxFormDetails
where tfd.TaxFormID ==
(from cri in CompanyReportInformation select new {cri.TaxFormID}).Take(1)
select new {tfd.ID, tfd.TaxFormID, tfd.TaxCodeLineNumber, tfd.TaxCodeLineDescription});
_query.Dump();
我收到以下错误:
运营商' =='不能应用于类型' System.Guid的操作数?'和' System.Linq.IQueryable'
我需要对LINQ语句做些什么才能使其正常工作?
答案 0 :(得分:1)
您将内部选择包装为匿名类型:
select new {cri.TaxFormID}
应该是
select cri.TaxFormID
答案 1 :(得分:1)
... select cri.TaxFormID).FirstOrDefault()