实体上下文
这和 Entity Framework
里面的 DbContext
比较类似,只是在 Fireasy 里叫作 EntityContext
。在 Entity Framework
,属性的类型是 DbSet<T>
,而在 Fireasy 中是 EntityRepository<T>
,它与每一个实体类相对应。
EntityContext
是一个核心的类,它是实体类与数据库之间的桥梁。每一个 EntityRepository<T>
均与一个数据表相对应,负责数据的持久化工作,即新增、修改、删除、查询。以下是一个 EntityContext
的示例:
public class DbContext : EntityContext
{
public EntityRepository<Products> Products { get; set; }
public EntityRepository<Categories> Categories { get; set; }
public EntityRepository<Customers> Customers { get; set; }
public EntityRepository<Orders> Orders { get; set; }
public EntityRepository<OrderDetails> OrderDetails { get; set; }
}
这些属性会在 EntityContext
构造函数执行时自动初始化,因而你不必担心它会为 null。
EntityRepository<T>
类实现了 IQueryable<T>
接口,因此它可以使用 System.Linq.Queryable
的扩展方法,比如 Where、Select、OrderBy 等等,详细的用法可参考 使用 lambda 表达式查询。同时 EntityRepository<T>
还拥有特有的 Insert、Update、Delete 方法。