The name quot;covidquot; doesn#39;t exist in the current context(当前上下文中不存在名称covidquot;)
                            本文介绍了当前上下文中不存在名称&covid";的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
                        
                        问题描述
您好,我将SQL查询转换为LinQ,我收到此错误。当我删除GROUP BY时,没有例外,但是我应该使用GROUP BY。为什么我会有此例外?public List<BiontechSinovacCovidDto> GetBiontechSinovacCovidDto()
{
    using(SirketDBContext context=new SirketDBContext())
    {
        var result = 
            from asi in context.Asilar
            join covid in context.Covids
                on asi.CovidId equals covid.CovidId
            group asi by asi.AsiIsmi into isim
            select new BiontechSinovacCovidDto
            {
                AsiIsmi=isim.Key,
    //exception    OrtalamaCovidSuresi=(EF.Functions.DateDiffDay(covid.CovidYakalanmaTarih, covid.CovidBitisTarih)).Average()
            };
        return result.ToList();                                              
    }
}
我的SQL查询
Select 
    AsiIsmi,
    AVG(Cast(DATEDIFF(Day,CovidYakalanmaTarih, CovidBitisTarih)AS FLOAT)) as OrtalamaCovidSuresi 
From Asilar 
    INNER JOIN Covids on Covids.CovidId=Asilar.CovidId 
group by AsiIsmi
|AsiIsmi| OrtalamaCovidSuresi|
-------  ------------------
Biontech      13.6667
Sinovac        15
BiontechSinovacCovidDto
public class BiontechSinovacCovidDto
{
    public string AsiIsmi { get; set; }
    public double OrtalamaCovidSuresi { get; set; }
}
推荐答案
Average有接受lambda的重载。你必须使用这个版本。在这种情况下,您还必须对covid进行分组。
public List<BiontechSinovacCovidDto> GetBiontechSinovacCovidDto()
{
    using (var context = new SirketDBContext())
    {
        var result = 
            from asi in context.Asilar
            join covid in context.Covids
                on asi.CovidId equals covid.CovidId
            group covid by asi.AsiIsmi into isim
            select new BiontechSinovacCovidDto
            {
                AsiIsmi = isim.Key,
                OrtalamaCovidSuresi = isim.Average(x => EF.Functions.DateDiffDay(x.CovidYakalanmaTarih, x.CovidBitisTarih))
            };
        return result.ToList();                                              
    }
}
                        这篇关于当前上下文中不存在名称&covid";的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
				 沃梦达教程
				
			本文标题为:当前上下文中不存在名称&covid";
				
        
 
            
        基础教程推荐
             猜你喜欢
        
	     - 在 VS2010 中的 Post Build 事件中将 bin 文件复制到物 2022-01-01
 - 如何动态获取文本框中datagridview列的总和 2022-01-01
 - 是否可以在 asp classic 和 asp.net 之间共享会话状态 2022-01-01
 - 首先创建代码,多对多,关联表中的附加字段 2022-01-01
 - 从 VS 2017 .NET Core 项目的发布目录中排除文件 2022-01-01
 - 经典 Asp 中的 ResolveUrl/Url.Content 等效项 2022-01-01
 - JSON.NET 中基于属性的类型解析 2022-01-01
 - 全局 ASAX - 获取服务器名称 2022-01-01
 - 错误“此流不支持搜索操作"在 C# 中 2022-01-01
 - 将事件 TextChanged 分配给表单中的所有文本框 2022-01-01
 
    	
    	
    	
    	
    	
    	
    	
    	
						
						
						
						
						
				
				
				
				