, у меня есть набор классов в качестве объектов моей области. У меня есть набор файлов конфигурации для сопоставления этих объектов (EntityTypeConfiguration <>).
Когда я добавляю свойство к любому из объектов домена без сопоставления с столбцом, dbcontext пытается запросить столбец, игнорируя тот факт, что он не сопоставлен.
Я, должно быть, пропустил параметр в коде конфигурации или в коде dbcontext. Я не хочу добавлять атрибут к классу poco (украшение poco привязывает их к конкретной реализации сохраняемости, чего я хочу избежать).
При вызове IQueryable для заполнения объекта билета вызов завершается ошибкой с сообщение:
Недопустимое имя столбца «NotInDatabase».
public class Ticket
{
public Ticket()
{
}
public virtual int Id
{
get;
set;
}
public virtual string Title
{
get;
set;
}
public virtual string Description
{
get;
set;
}
public string NotInDatabase
{
get;
set;
}
}
internal class TicketConfiguration : EntityTypeConfiguration<Ticket>
{
public TicketConfiguration()
{
ToTable("ticket_table_name");
HasKey(o => o.Id)
.Property(o => o.Id)
.HasColumnName("ticketId")
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity)
.IsRequired();
Property(o => o.Title).HasColumnName("TicketTitle");
Property(o => o.Description).HasColumnName("TicketDescription");
}
}
Примечание: Пожалуйста, не предлагайте использовать «Сначала базу данных» или «Сначала модель» в моей ситуации. Я хочу сопоставить объекты poco с базой данных, используя сначала функции кода, даже если у меня есть существующая структура db. Я сравниваю это с nhibernate и действительно хочу придерживаться аналогичной структуры (поскольку Microsoft "приняла" свободный подход nhibernate, довольно легко сравнивать яблоки с яблоками).
Спасибо!