C# 大型数据库的模型优先或代码优先

C# 大型数据库的模型优先或代码优先,c#,asp.net-mvc,entity-framework,ef-code-first,C#,Asp.net Mvc,Entity Framework,Ef Code First,我需要你的意见。我在EFW6.1的ASP MVC应用程序中使用模型优先的方法。一个数据库中有太多的表(大约200个),由于时间限制,我很难为它编写代码 当模型优先技术用于任何大型数据库应用程序而不是代码优先时,是否存在性能问题?在Visual Studio中 在解决方案资源管理器中 右键单击项目 实体框架-逆向工程 VS创建 a) 上下文 b) Visual Studio中的所有模型 在解决方案资源管理器中 右键单击项目 实体框架-逆向工程 VS创建 a) 上下文 b) 所有型号使用第十八款时不

我需要你的意见。我在EFW6.1的ASP MVC应用程序中使用模型优先的方法。一个数据库中有太多的表(大约200个),由于时间限制,我很难为它编写代码

当模型优先技术用于任何大型数据库应用程序而不是代码优先时,是否存在性能问题?

在Visual Studio中

  • 在解决方案资源管理器中

  • 右键单击项目

  • 实体框架-逆向工程

  • VS创建

    a) 上下文

    b) Visual Studio中的所有模型

  • 在解决方案资源管理器中

  • 右键单击项目

  • 实体框架-逆向工程

  • VS创建

    a) 上下文


    b) 所有型号

    使用第十八款时不会出现任何性能问题。使用你觉得最舒服的

    模型第一是伟大的,去吧


    使用第十八代时不会出现任何性能问题。使用你觉得最舒服的

    模型第一是伟大的,去吧


    要在EF中定义模型,可以先使用代码或“图形”模型来绘制表格和关系。请注意:

    • 有一些工具可以将数据库反向工程到这两种模型、模型或代码
    • 独立于代码优先或模型,在内部,内存中始终有一个EDM,它完全相同(或有非常细微的差异)
    因此,创建模型或代码优先模型所需的时间是相同的。您应该考虑在维护模型时,您是否会对其中一个感到更舒适

    如果您的模型将不断发展,那么在代码优先中,您可以使用迁移。在另一种情况下,您可以直接使用“右键单击”选项将模型更改应用于数据库。迁移为您提供了对数据库升级(甚至降级)过程的更多控制,它们可以轻松地应用于开发数据库,也可以应用于任何其他数据库(生产、暂存…)

    如果您担心性能,正如我告诉您的,这两种型号在内存方面是相似的。最耗时的任务之一是创建视图,在这两种情况下都需要相同的时间。当应用程序启动并且第一次使用上下文时,就会发生这种情况。但是您可以使用预创建此视图(不要担心它是Beta 4版,您可以安全使用。我已经使用此工具多年了)

    正如您在EF Power工具的链接中所看到的,它为您的菜单添加了有趣的选项,但我所说的是创建视图。您可以将其用于代码优先或模型

    最后,如果您首先使用代码,您可以创建几个不同的上下文,每个上下文只有部分表。如果这对你来说真的是个问题的话,这会提高性能

    所以这个决定应该基于你的个人喜好和工作方式。如果您没有首选项,我建议您首先使用代码,更新代码中的实体,并使用迁移将更改应用于数据库。认为一个包含大量实体和关系的大型模型可能很难导航和查看。在“代码优先”中,您始终可以按名称查找实体(类),或将实体组织在多个不同的文件中


    最后一点,可以使用模型完成的大部分工作也可以首先使用代码完成。除非您打算做一些非常具体的事情,否则我怀疑这是选择其中一个的原因。

    要在EF中定义模型,您可以先使用代码或“图形”模型,在其中可以绘制表格和关系。请注意:

    • 有一些工具可以将数据库反向工程到这两种模型、模型或代码
    • 独立于代码优先或模型,在内部,内存中始终有一个EDM,它完全相同(或有非常细微的差异)
    因此,创建模型或代码优先模型所需的时间是相同的。您应该考虑在维护模型时,您是否会对其中一个感到更舒适

    如果您的模型将不断发展,那么在代码优先中,您可以使用迁移。在另一种情况下,您可以直接使用“右键单击”选项将模型更改应用于数据库。迁移为您提供了对数据库升级(甚至降级)过程的更多控制,它们可以轻松地应用于开发数据库,也可以应用于任何其他数据库(生产、暂存…)

    如果您担心性能,正如我告诉您的,这两种型号在内存方面是相似的。最耗时的任务之一是创建视图,在这两种情况下都需要相同的时间。当应用程序启动并且第一次使用上下文时,就会发生这种情况。但是您可以使用预创建此视图(不要担心它是Beta 4版,您可以安全使用。我已经使用此工具多年了)

    正如您在EF Power工具的链接中所看到的,它为您的菜单添加了有趣的选项,但我所说的是创建视图。您可以将其用于代码优先或模型

    最后,如果您首先使用代码,您可以创建几个不同的上下文,每个上下文只有部分表。如果这对你来说真的是个问题的话,这会提高性能

    所以这个决定应该基于你的个人喜好和工作方式。如果您没有首选项,我建议您首先使用代码,更新代码中的实体,并使用迁移将更改应用于数据库。认为一个包含大量实体和关系的大型模型可能很难导航和查看。在“代码优先”中,您始终可以按名称查找实体(类),或将实体组织在多个不同的文件中


    最后一点,可以使用模型完成的大部分工作也可以首先使用代码完成。除非你打算做一些非常具体的事情,否则我怀疑这是选择其中一个的理由。

    你有没有努力在谷歌上做一些事情?可能是重复的