Entity framework 从生产中的数据库模式以编程方式创建EF模型(无VS生态系统)
我想在我的应用程序(产品)中利用EF作为DAL 我的应用程序中的一个功能允许在产品投入生产时创建数据库模式 一旦这个模式在数据库中实现,我想从这个数据库创建EF模型。此外,我应该能够将数据库模式更改(尽管非常罕见)反映到模型上 由于生产环境缺少Visual Studio设置,因此排除了常规的数据库到模型的方法 代码优先方法不太合适,因为其代码优先迁移功能仍处于测试阶段Entity framework 从生产中的数据库模式以编程方式创建EF模型(无VS生态系统),entity-framework,entity-framework-4.1,data-access-layer,Entity Framework,Entity Framework 4.1,Data Access Layer,我想在我的应用程序(产品)中利用EF作为DAL 我的应用程序中的一个功能允许在产品投入生产时创建数据库模式 一旦这个模式在数据库中实现,我想从这个数据库创建EF模型。此外,我应该能够将数据库模式更改(尽管非常罕见)反映到模型上 由于生产环境缺少Visual Studio设置,因此排除了常规的数据库到模型的方法 代码优先方法不太合适,因为其代码优先迁移功能仍处于测试阶段 我的选择是什么?我认为整个EF不适合您的解决方案,因为您忘记了主要问题。即使您能够在运行时定义数据库映射,您仍然需要映射新表的类
我的选择是什么?我认为整个EF不适合您的解决方案,因为您忘记了主要问题。即使您能够在运行时定义数据库映射,您仍然需要映射新表的类,并且需要使用新类的代码。若您更改了表中的某些内容(例如更改列的数据类型或添加列),则现有类也必须更改。您将如何在运行时做到这一点?数据模式将遵循一种模式;它有一个层次结构,即主实体位于顶部,之后会有子实体位于一个或另一个级别。树中的每个节点都将映射(不需要)到一个表。因此,我将通过基于模式的遍历逻辑引用实体。这将确保数据库中的任何更改(如果反映在模型中)从遍历的角度来看不会有任何挑战。因此,我的主要需求是能够生成模型并使其与数据库保持同步。拉迪斯拉夫,你现在的看法是什么?我不确定我是否理解你的结构,因为现在我怀疑在没有任何动态行为的情况下使用EF进行映射是可能的。拉迪斯拉夫。。。如果我含糊不清,我很抱歉。然而,我有一个设计的想法,并希望通过连接一些点来实现我的目标。因此,如果您能让我知道是否可以从现有数据库以编程方式生成EF模型,我将不胜感激。用于生成映射所有部分的类应位于
System.Data.Entity.Design
(在具有相同名称的程序集中)。我不完全理解你想做什么,所以如果你发现有什么有用的,请自己检查一下。