4
我有一個實體類型是這樣的:如何在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()方法到數據庫字段。
我該怎麼做?
你想映射來自'GetSequence'與數據庫字段的結果呢?是嗎?我想你想將結果存儲在'INVOICE_SEQ'字段中? – Jupaol
這是它的1/2。我也需要從數據庫字段映射到我的對象模型。 –