0

我必须创建从 excelfiles 到数据库的导入。我创建了一个小系统,将我的 excelfile 映射到某种“excel 实体”。其中一些实体包含多个数据库表的信息,对于其他实体,我需要计算数据库中的 id 等。我正在使用实体框架将数据库映射到对象。

现在我的问题是,我需要一种干净的方法来映射我的 excelfile 结构和我的数据库结构。

有什么模式可以干净地解决这个问题吗?我不想检查每个属性是否已更改,...我只需要将数据库与我的 excelfile 同步。但是 excefile 看起来并不完全像我的数据库架构。

如果有人知道如何解决问题的模式或方法,那就太好了。

4

1 回答 1

1

在我看来,您实际上有两个问题要解决:1)将信息从 excel 文件中获取到一个不错的架构中;2)同步数据库。如果您正在考虑实体框架,看起来您可以很好地控制 #2。要解决您的 #1 问题,您很可能必须创建一个解析器来填充在您的 #2 解决方案中创建的实体。

TL;DR:将文件解析与同步分开。首先获取所有对象,然后更新数据库。

编辑: 接下来您必须创建一个映射器。可以通过属性名称链接两个对象的东西。查看“反射”“扩展方法”和更通用的映射器搜索。我会创建一些像这样工作的东西:

object1.Map("Property1",object2,"Property2");

object1 是您的数据库实体,Property1 是您要映射到的属性的名称,object2 是 Excel 实体,Property2 是要映射的属性的名称。

PS:如果扩展方法正确完成,您可以“链接”映射:object1.Map("Property1", object2, "Property2").Map("Property3", object3, "Property4")

等等。您甚至可以选择不同的对象进行映射。

于 2013-08-16T12:49:13.740 回答