Dot-Net
如何在程式碼優先實體框架中使用視圖
如何首先在實體框架程式碼中使用數據庫視圖,
如果像我一樣,您只對映射來自其他數據庫(在我的情況下為 erp)的實體感興趣,以將它們與特定於您的應用程序的實體相關聯,那麼您可以像使用表一樣使用視圖(將視圖映射到以同樣的方式!)。顯然,如果您嘗試更新該實體,如果視圖不可更新,您將收到異常。該過程與普通(基於表格)實體的情況相同:
- 為視圖創建一個 POCO 類;例如 FooView
- 在 DbContext 類中添加 DbSet 屬性
- 使用 FooViewConfiguration 文件為視圖設置不同的名稱(在建構子中使用 ToTable(“Foo”); )或設置特定屬性
public class FooViewConfiguration : EntityTypeConfiguration<FooView> { public FooViewConfiguration() { this.HasKey(t => t.Id); this.ToTable("myView"); } }
- 將 FooViewConfiguration 文件添加到模型建構器,例如覆蓋 Context 的 OnModelCreating 方法:
protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Configurations.Add(new FooViewConfiguration ()); }