繁体   English   中英

DbContext onModelCreating 过滤数据

[英]DbContext onModelCreating filter data

我在我的 ASP.NET Core 2.0 应用程序的 DBContext 类中遵循代码。 数据库上下文

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

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

ToTable 只是将对象映射到表。 在您使用 linq 语句请求数据之前,它什么都不做。 当您在 where 子句上调用 ToList 时,EF 将访问数据库并查询仅返回所需结果。

所做的只是说 MyTable 映射到 sql 中的 MyTable。 而已。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM