【发布时间】:2012-06-05 20:17:59
【问题描述】:
我有一个这样的实体类型:
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字段中,对吧? -
这是其中的 1/2。我还需要从数据库字段映射到我的对象模型。
标签: c# oracle entity-framework entity-framework-4.1 ef-code-first