我一直在使用EF一段时间(首先使用模型4)到目前为止我还没有手动创建任何映射。每当我需要更多实体/表时,我添加一个实体和关联(所有外键)并单击“从模型更新数据库”,众所周知,它不会从模型更新任何数据库(尽管它确实需要)数据库连接,原因我不知道)。它的作用是生成存储模型及其相应的映射,这些映射都存储回相同的edmx xml文件。
到目前为止,对我来说这一直是足够的,但我想知道如果要手动调整映射和存储模型,工作流程是什么。 “从模型更新数据库”会覆盖所有手动自定义 - 那么如何修复大多数映射和存储模型?因为我显然不希望手动完成所有操作 - 实际上我甚至无法弄清楚如何在存储模型中实际创建表,而不是通过编辑xml中的edmx。
答案 0 :(得分:1)
我有同样的问题。我只是使用混合方法。如果我向数据库添加一个字段,我只需将该字段添加到模型文件中。如果我进行重大重组,我会删除该表并通过从数据库生成它来重新创建它。有时,我实际上将edmx编辑为XML来更改或添加内容。你只需要弄清楚哪种方法最适合你。我已经设法通过使用T4模板或更改数据库并重新生成来避免在edmx中进行大量自定义。