很遗憾实体框架核心 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
目录,并强制覆盖它们。)
注意:我实际上想使用视图的原因是 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 );
});
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)