EntityFramework tenta selecionar uma coluna existente?
Eu tenho um problema e simplesmente não consigo descobrir o que está causando o problema.
Eu tenho um banco de dados de redmine com uma tabela 'journals'http://puu.sh/1iRIt. Usando o plug-in do Visual Studio 2012 EntityFramework Power Tools, isso foi feito com engenharia reversa na seguinte classe:
public class Journal
{
public int id { get; set; }
public int journalized_id { get; set; }
public string journalized_type { get; set; }
public int user_id { get; set; }
public string notes { get; set; }
public System.DateTime created_on { get; set; }
}
e o mapa:
public class JournalMap : EntityTypeConfiguration<Journal>
{
public JournalMap()
{
// Primary Key
this.HasKey(t => t.id);
// Properties
this.Property(t => t.journalized_type)
.IsRequired()
.HasMaxLength(30);
this.Property(t => t.notes)
.HasMaxLength(65535);
// Table & Column Mappings
this.ToTable("journals", "redmine");
this.Property(t => t.id).HasColumnName("id");
this.Property(t => t.journalized_id).HasColumnName("journalized_id");
this.Property(t => t.journalized_type).HasColumnName("journalized_type");
this.Property(t => t.user_id).HasColumnName("user_id");
this.Property(t => t.notes).HasColumnName("notes");
this.Property(t => t.created_on).HasColumnName("created_on");
}
}
Agora, quando tento executar um select no banco de dados de periódicos usando o LINQ:
return context.Journals.Where(c => c.journalized_id == task.id);
I see that the following query is created:
- returnValue {SELECT
`Extent1`.`id`,
`Extent1`.`journalized_id`,
`Extent1`.`journalized_type`,
`Extent1`.`user_id`,
`Extent1`.`notes`,
`Extent1`.`created_on`,
`Extent1`.`Issue_id`
FROM `journals` AS `Extent1`
WHERE `Extent1`.`journalized_id` = @p__linq__0}
System.Linq.IQueryable<Synchronisation.Domain.Entities.Redmine.Journal> {System.Data.Entity.Infrastructure.DbQuery<Synchronisation.Domain.Entities.Redmine.Journal>}
O que eu não entendo é onde o "Issue_id" está vindo, esta consulta está causando um EntityCommandExecutionException (exceção interna: {"coluna desconhecida 'Extent1.Issue_id' in 'lista de campos'"})
Quando adiciono manualmente a coluna Issue_id, esse problema é corrigido (essa correção deve ser revertida, nenhuma alteração na estrutura do banco de dados deve ser feita)
Eu não tenho idéia de onde esta "Issue_id" vem, alguém tem uma idéia de como descobrir isso?
Felicidades, Rick