如何在具有Entity Framework Core 1.0(EF7)的腳手架DbContext中使用數據庫視圖

entity-framework-core view

不幸的是, 實體框架核心1.0 (以前的實體框架7)還不支持視圖,我試圖用表格“偽造”它。

但是腳手架dotnet dbcontext ef scaffold命令當前不識別或生成視圖,我想要一個允許查詢視圖和更新表的DbContext。有沒有辦法做到這一點?

這是我用來搭建DbContext的命令:

dotnet ef dbcontext scaffold -c MyStoreContext -o Model "Data Source=(local);Initial Catalog=DBNAME;Integrated Security=True" Microsoft.EntityFrameworkCore.SqlServer --force

(這會將我的所有模型類放在Model目錄中,並強制它們被覆蓋。)

注意:我實際想要使用View的原因是GROUP BY邏輯,在EF Core 1.0中也不支持

熱門答案

對我來說,我的視圖是在不同的模式中,所以我不得不改變模型類的屬性:

using System.ComponentModel.DataAnnotations.Schema;

namespace API.DataAccess
{
    [Table("MyViewName", Schema = "SomeSchema")]
    public class MyViewName
    {
       //props
    }
}

為完整起見,實體代碼:

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<MyViewName>(entity =>
    {
        entity.HasKey(e => new { e.SomeColumn }).HasName("PK_FAKEKEY");
            entity.Property(e => e.SomeColumn ).IsRequired();
            entity.Property(e => e.SomeColumn2 );
            entity.Property(e => e.SomeColumn3 );
    });
}


Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow