2013-06-02 40 views
0

我需要将数据从许多xmls迁移到sql服务器数据库,并且它必须在事务中完成。 我想过EF和dbContext,因为它本身就是一个UOW。Entity Framework vs 2010我可以执行以下操作:

我的问题是 你可以在运行时做数据库优先吗?

我想要做的是从类/数据集中的db存储中读取所有表,并将db.column映射到xml文件中的等效项并提交。

这必须以这样的方式工作,即如果添加了表或添加了列,它将在没有任何代码更改的情况下工作,因为它由db驱动。

我面对的问题是,如果需要新列的人在“不熟悉EF”时添加列“手动工作”,那么使用从模型生成的Db。

我可以通过阅读数据库模式和映射到数据集,但想知道是否可以使用EF来做到这一点,我可以做我想要的与原始ado.net。

希望大家清楚

任何建议

+0

虽然我张贴的答案,也许我没有完全理解你的问题。你能告诉我关于“在运行时”更具体吗?正如你所知道的,当模式需要改变时,刷新EF需要'ALTER'数据库。 – Youngjae

回答

0

当然可以。

您可以使用Entity Framework Power Tools,它允许您在开始时像Code-First一样从数据库创建Code-First文件。

或者,您也可以使用数据库优先方法。这并不难。

如果您尝试使用数据库第一种方法,请阅读我的尝试和错误的经验:post1post2

+0

@Younjae谢谢您的回复。数据库的第一种方法是全部在前。正确?这不会解决我的问题。不知道我有时间去学习其他东西,除非有一个教程介绍如何根据数据库模式在运行时生成类 – user9969

+0

对于我来说,从EF数据库生成的'.tt'文件 - 第一种方法总是创建新的模式每当刷新edmx时反射的类。这是你想要的吗? – Youngjae

+0

对我来说听起来不错。你说过,当一个新列被添加到数据库中时,所有人必须做的就是右键单击“tt”文件,并且您将为您生成一组新的类?任何教程,我可以快速尝试2表。是否需要下载电动工具?使用vs 2010时,最新的EF版本是4.4这是好的 – user9969

相关问题