Как мне сопоставить комплексный тип в коде EF4.3 и обратно?
У меня есть такой тип объекта:
public class Invoice{
public int Id { get; set; }
public InvoiceNumberSequence Sequence { get; set; }
public decimal Amount { get; set; }
}
InvoiceNumberSequence
выглядит так:
public class InvoiceNumberSequence {
public string Prefix { get; set; }
public int Number { get; set; }
public string GetSequence() {
return Prefix + Number;
}
}
Моя проблема в том, что у меня есть база данных, которую я не могу изменить, и я пытаюсь сопоставить таблицы / столбцы с моей моделью домена. Вот как выглядит таблица:
[SYSTEMINVOICES]
INVOICE_ID int
INV_TOTAL decimal
INVOICE_SEQ varchar(255)
у меня естьDbContext
как это:
public MyDatabaseContext : DbContext {
public DbSet<Invoice> Invoices { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder) {
modelBuilder.Entity<PredictedHeat>().ToTable("SYSTEMINVOICES");
modelBuilder.Entity<Invoice>().HasKey(p => p.Id);
modelBuilder.Entity<Invoice>().Property(p => p.Id).HasColumnName("INVOICE_ID");
modelBuilder.Entity<Invoice>().Property(p => p.Amount).HasColumnName("INV_TOTAL");
//need something here to map my invoice sequence to my database table
}
}
Мне нужно отобразить InvoiceNumberSequence в обоих направлениях ... 1) из поля базы данных в класс InvoiceNumberSequence и 2) из метода InvoiceNumberSequence.GetSequence () в поле базы данных.
Как я могу это сделать?