DbContext onModelCreating过滤数据

时间:2017-10-02 19:12:18

标签: c# asp.net-core entity-framework-core dbcontext

我的代码中的DBContext类中的ASP.NET Core 2.0 App。 的DbContext

public DbSet<MyTable> MyTable1 { get; set; }
...
protected override void OnModelCreating(ModelBuilder modelBuilder) {
  modelBuilder.Entity<MyTable>().ToTable("MyTable");

是否正确.ToTable始终获取表格的全部内容? 我只需要某些数据(过滤器)。例如,从表项目中获取员工ID = 4的项目。 我成功登录后的员工ID。如何在控制器类中获取数据?

1 个答案:

答案 0 :(得分:0)

ToTable只是将对象映射到表格。在您使用linq语句请求数据之前,它没有做任何事情。当您在where子句上调用ToList时,您将EF到达数据库并查询仅返回所需的结果。

所有这一切都在说MyTable映射到sql中的MyTable。而已。

如果您想专门过滤整个结果集永久,可以使用Eneity.HasQueryFilter(y =&gt; y.ID == 4);