1

こんばんは、私はこの問題を解決しようとして2日間ですが、何も得られませんでした。バグだと思いますが、誰か助けてもらえますか?次のエラーメッセージが表示されます。

'where句'の不明な列'Distinct1.nCdSite'

[MySqlException(0x80004005):不明な列'Distinct1.nCdSite' in'where句']MySql.Data.MySqlClient.MySqlStream.ReadPacket()+501 MySql.Data.MySqlClient.NativeDriver.GetResult(Int32&affectedRow、Int64&insertedId)+450 MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId、Boolean force)+136 MySql.Data.MySqlClient.MySqlDataReader.NextResult()+1269 MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior Behavior)+2528MySql.Data。 Entity.EFMySqlCommand.ExecuteDbDataReader(CommandBehaviorの動作)+22。。。

私は次のコードを持っています:

モデル:

[Table("pagina")] 
public class pagina 
{ 
    [Key] 
    public long nCdPagina { get; set; } 
    public long nCdVisitante { get; set; } 
    public string sDsUrlReferencia { get; set; } 
    public string sDsPalavraChave { get; set; } 
    public string sDsTitulo { get; set; } 

    [ForeignKey("nCdVisitante")] 
    public visitante visitante { get; set; } 
} 

public class retorno 
{ 
    public long Key { get; set; } 
    public int Online { get; set; } 
} 

[Table("site")] 
public class site 
{ 
    [Key] 
    public long nCdSite { get; set; } 
    public string sDsTitulo { get; set; } 
    public string sDsUrl { get; set; } 
    public DateTime tDtCadastro { get; set; } 
} 

[Table("visitante")] 
public class visitante 
{ 
    [Key] 
    public long nCdVisitante { get; set; } 
    public long nCdSite { get; set; } 
    public string sDsIp { get; set; } 
    public DateTime tDtCadastro { get; set; } 
    public DateTime tDtAtualizacao { get; set; } 

    [ForeignKey("nCdSite")] 
    public site site { get; set; } 
} 

クエリ:

return (from pag in this.context.pagina.Include("visitante").Include("site") 
    group pag by pag.visitante.nCdSite into g 
    select new retorno 
    { 
        Key = g.Key, 
        Online = g.Select(e => e.visitante.sDsIp).Distinct().Count() 
    }).ToList<retorno>(); 

問題が発生するのは、を配置したときだけDistinct()です。Count()言うまでもなく完璧に機能します。

4

0 に答える 0