EntityFramework пытается выбрать несуществующий столбец?
У меня есть проблема, и я просто не могу понять, что является причиной проблемы.
У меня есть база данных Redmine с таблицей журналовhttp://puu.sh/1iRIt, С помощью плагина Visual Studio 2012 Power Tools EntityFramework это было преобразовано в следующий класс:
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; }
}
и карта:
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");
}
}
Теперь, когда я пытаюсь выполнить выборку в базе данных журналов, используя 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>}
Что я не понимаю, так это то, откуда исходит «Issue_id», этот запрос вызывает EntityCommandExecutionException (внутреннее исключение: {«Неизвестный столбец« Extent1.Issue_id »в« списке полей »»})
Когда я вручную добавляю столбец Issue_id, эта проблема исправлена (это исправление необходимо отменить, никаких изменений в структуре базы данных делать не нужно)
Я понятия не имею, откуда взялся этот «Issue_id», у кого-нибудь есть идея, как это выяснить?
Ура, Рик