ASP.NET4.0を使用してWebアプリケーションを開発しています。私はデータベースSQLServer2005を持っており、それに接続するEntityFramework5を使用しています。
public class ArchivioClienti : DbContext
{
public ArchivioClienti()
: base("ICAMConnection")
{
}
public DbSet<ClientiProspect> clienti { get; set; }
}
[Table("pvw_clienti_prospect")]
public class ClientiProspect
{
[Key]
public string tipologia { get; set; }
public string cod_ppro { get; set; }
public string rag_soc { get; set; }
public string indirizzo { get; set; }
public string cap { get; set; }
public string citta { get; set; }
public string prov { get; set; }
public string nazione { get; set; }
public string telefono { get; set; }
public string fax { get; set; }
public string part_iva { get; set; }
public string cod_fisc { get; set; }
public string note { get; set; }
public string e_mail { get; set; }
public string cod_ppro_anag { get; set; }
public string cod_vage { get; set; }
public string cod_visp { get; set; }
public string fonte { get; set; }
public string cod_vzon { get; set; }
public decimal perc_provv { get; set; }
public string flag_stato { get; set; }
public string cod_anag { get; set; }
public string gg_chiusura { get; set; }
public DateTime? data_ins { get; set; }
public string cod_canale { get; set; }
}
テーブルからデータを取得しようとしています。これは実際にはテーブルではなく、ビューにすぎません。LINQを使用してクエリを読み込むと、
var result = from u in dbClienti.clienti
select u;
return result.ToList()
正しい数の結果(SQL Server Management Studioで同じクエリを使用して受け取るものと同じ)を受け取りますが、フィールドが間違っています。最初の結果は複数回複製され、2番目の結果は同じです。
なぜこのように機能しているのですか?データベースのビューを持つEntityFrameworkに問題はありますか?