Tsql 在实体框架中,当SomeCol为NULL时,是否存在与0或1 END相同的情况
下面是T-SQL语句,本质上我想返回一个布尔计算字段Tsql 在实体框架中,当SomeCol为NULL时,是否存在与0或1 END相同的情况,tsql,entity-framework-6,case-statement,Tsql,Entity Framework 6,Case Statement,下面是T-SQL语句,本质上我想返回一个布尔计算字段xmlHasValue SELECT TOP 10 hrd.pkID , etc= "etc..." , xmlHasValue = CASE WHEN hdr.someVeryLongXml IS NULL THEN 0 ELSE 1 END FROM MyLeftTable hdr inner JOIN MyRightTable lines ON hdr.pkID = lines.fkID WHERE hd
xmlHasValue
SELECT TOP 10
hrd.pkID
, etc= "etc..."
, xmlHasValue = CASE WHEN hdr.someVeryLongXml IS NULL THEN 0 ELSE 1 END
FROM MyLeftTable hdr
inner JOIN MyRightTable lines ON hdr.pkID = lines.fkID
WHERE hdr.SomeField == 123
ORDER BY hdr.pkID DESC
我如何在EntityFramework(完整的Fx,而不是dotnet core)中编写它,以便EF生成如上所述的Case
语句
我的尝试:
var query = from hdr in dbCtx.MyLeftTable
join lines in dbCtx.MyRightTable on hdr.pkID equals lines.fkID
where hdr.SomeField == 123
orderby hdr.pkID descending
select new //select into anon C# obj
{
pkID = hdr.pkID,
etc = "etc...",
xmlHasValue = hdr.someVeryLongXml //<== ??? stuck here ???
};
var anonObjList = query.AsNoTracking()
.Take(10)
.ToList(); //exec qry on the SERVER, and fill the anon object.
var query=来自dbCtx.MyLeftTable中的hdr
hdr.pkID上dbCtx.MyRightTable中的连接行等于lines.fkID
其中hdr.SomeField==123
orderby hdr.pkID递减
选择新建//select into anon C#obj
{
pkID=hdr.pkID,
etc=“etc…”,
xmlHasValue=hdr.someVeryLongXml//使用C#条件运算符(?:
)好的,我会尝试一下,如果您将答案写成答案,我会回来接受您的答案。