如何将CodeFirst模式自动生成Entity模型的长尾?
- 内容介绍
- 文章标签
- 相关推荐
本文共计784个文字,预计阅读时间需要4分钟。
之前在博客文章中介绍过如何使用Code First来创建数据库。通过Code First的方式,可以极大减少开发人员的工作量,尤其是对于开发人员数量较少的项目。与传统的先创建数据库再编写ORM代码的方式相比,Code First方法简化了流程。然而,值得注意的是,这种方法在特定情况下可能存在局限性。
之前我在博客文章中介绍过如何使用Code First来创建数据库,通过CodeFirst的方式,可以大幅的减少开发人员的工作量,比传统的先创建库再ORM的方式简单了不少。但是,很多时候,特别是一些MIS系统,我们会涉及到大量的实体类型,类似如下所示:
public class DbContext : System.Data.Entity.DbContext { public DbContext() : base("name=DefaultConnection") { } public DbSet<Pencil> Penlils { get; set; } public DbSet<Pen> Pens { get; set; } public DbSet<Ink> Inks { get; set; } public DbSet<Eraser> Erasers { get; set; } //.... }
在常用的CodeFirst方式下,每增加一种类型就需要在DbContext中增加一个属性。虽然并不算麻烦,但这种手动维护的方式存在如下两个问题:
当实体类型较多且变更比较频繁的的时候,靠手动的方式维护实体列表很容易出错。
本文共计784个文字,预计阅读时间需要4分钟。
之前在博客文章中介绍过如何使用Code First来创建数据库。通过Code First的方式,可以极大减少开发人员的工作量,尤其是对于开发人员数量较少的项目。与传统的先创建数据库再编写ORM代码的方式相比,Code First方法简化了流程。然而,值得注意的是,这种方法在特定情况下可能存在局限性。
之前我在博客文章中介绍过如何使用Code First来创建数据库,通过CodeFirst的方式,可以大幅的减少开发人员的工作量,比传统的先创建库再ORM的方式简单了不少。但是,很多时候,特别是一些MIS系统,我们会涉及到大量的实体类型,类似如下所示:
public class DbContext : System.Data.Entity.DbContext { public DbContext() : base("name=DefaultConnection") { } public DbSet<Pencil> Penlils { get; set; } public DbSet<Pen> Pens { get; set; } public DbSet<Ink> Inks { get; set; } public DbSet<Eraser> Erasers { get; set; } //.... }
在常用的CodeFirst方式下,每增加一种类型就需要在DbContext中增加一个属性。虽然并不算麻烦,但这种手动维护的方式存在如下两个问题:
当实体类型较多且变更比较频繁的的时候,靠手动的方式维护实体列表很容易出错。

