Mad*_* Zu 1 .net c# linq asp.net entity-framework
嗨有一个简单的查询,将所有发出的请求与已下载的请求进行比较.
我有一个像这样完美的tsql:
select case when (select COUNT(*) from FileRecipient where File_ID = 3 and downloaded = 'Y')
= (select COUNT(*) from FileRecipient where File_ID = 3) then 'Y' else 'N' end
Run Code Online (Sandbox Code Playgroud)
但是想在LINQ中做到这一点.
任何和所有的帮助将不胜感激.我尝试了下面的内容,但显然我还有很长的路要走.这只是给了我两个计数中的第一个.我需要做两个单独的陈述来获得第二个吗?
public static bool DownloadedByAll(int fsID)
{
using (SEntities ctx = CommonS.GetSContext())
{
var result = (from fr in ctx.FileRecipients
where fr.File_ID == fsID && fr.downloaded == "Y"
select fr.Recipient_ID).Count();
}
}
Run Code Online (Sandbox Code Playgroud)
或者我只是更简单地在实体框架中使用tsql?
这应该可以为您提供所需的结果
var result = ctx.FileRecipients
.Count(f=>f.File_ID == 3
&& f.downloaded == 'Y') == ctxt.FileRecipients
.Count(f=>f.File_ID == 3);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
142 次 |
| 最近记录: |