0

我从一个业务/实体类层的空白开始,但使用现有的数据源。通常这将是蛋糕,启动实体框架,将其指向数据库,然后收工,但目前,我需要从第三方供应商数据源获取实际数据......

  1. 只能从通用 ODBC 提供程序(不是 SQL)访问
  2. 语法、命名非常糟糕,在某些情况下,到处都是重复数据
  3. 拥有超过 100 个表,当它们组合在一起时,将在 1,000 列/数据属性附近

我只需要这个数据库的只读,所以我不需要支持更新/插入/删除,只需要在每次应用程序运行时将“脏”数据提取到干净的实体中。

我想尽可能地将数据库与我漂亮、干净、命名良好的实体类隔离开来。

有没有好办法:

  1. 从数据库表生成初始实体类?(那样我只是重命名和修复类属性来清理它,而不是从头开始。)
  2. 将数据库中的数据映射到我漂亮、干净的类中而不编写 1000 个属性集?

编辑:这里的主要目标不是想出一个伪 ORM,而是根据已经存在的内容生成尽可能多的现有代码,然后根据需要进行调整,从而消除大量的体力劳动- 密集的课堂写作任务。

4

2 回答 2

3

我喜欢避免从数据库模式自动生成类,只是为了更好地控制实体的结构——这对数据库结构有意义的东西并不总是对类结构有意义。对于第 3 方或遗留系统,我们为我们的业务对象使用适配器模式——将数据库、平面文件、其他组件等中的旧格式或结构不佳的格式转换为更合适的格式。

话虽如此,您可以创建视图或存储过程来以比数据库当前结构更适合您需要的方式来表示数据。这是假设您被允许访问数据库。

于 2009-09-01T02:07:41.727 回答
2

转储数据库。我的意思是,重新设计架构,迁移你的数据,你应该会很好。

于 2009-09-01T03:09:23.873 回答