Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 一个模型来管理它们——VS2010 UML、ADO.NET实体数据模型和T4_Visual Studio 2010_Uml_T4_Entity Framework 4 - Fatal编程技术网

Visual studio 2010 一个模型来管理它们——VS2010 UML、ADO.NET实体数据模型和T4

Visual studio 2010 一个模型来管理它们——VS2010 UML、ADO.NET实体数据模型和T4,visual-studio-2010,uml,t4,entity-framework-4,Visual Studio 2010,Uml,T4,Entity Framework 4,不久前,我在一个相当大的项目中工作,我们在其中建模了类,并生成了(部分)POCO类(包括模型驱动的业务规则验证)、持久性(NHibernate映射文件)和DDL。基于某些模型属性,我们可以标记替代生成策略,或者指出特定部分将完全手工编码 有大量的初始投资,但在一个15个开发商的3年项目的生命周期内,它支付了巨额股息 我正在调查对当前的Microsoft技术堆栈进行类似的操作。我被卡住的地方是类建模是用VS2010 UML工具完成的,而逻辑数据建模是用实体数据建模器完成的 使用VS 2010 UM

不久前,我在一个相当大的项目中工作,我们在其中建模了类,并生成了(部分)POCO类(包括模型驱动的业务规则验证)、持久性(NHibernate映射文件)和DDL。基于某些模型属性,我们可以标记替代生成策略,或者指出特定部分将完全手工编码

有大量的初始投资,但在一个15个开发商的3年项目的生命周期内,它支付了巨额股息

我正在调查对当前的Microsoft技术堆栈进行类似的操作。我被卡住的地方是类建模是用VS2010 UML工具完成的,而逻辑数据建模是用实体数据建模器完成的


使用VS 2010 UML作为“单一真实来源”并根据类模型生成edmx文件是否合理?这与创建实体模型和使用POCO生成器生成类的公共路径相反。但是,一个好的类模型可以用来生成的不仅仅是属性,因此我倾向于将其视为比实体模型更好的选择。

这总是一个问题,因为每个建模层映射两个不同的世界。要获得完全感知的代码,生成系统必须能够访问所有映射模型。照此看来,您不能简单地将其中一个声明为“主”,因为每个层都是解决方案的“真实”透视图。

实体数据建模器仅限于每个模型的一个图表,并且在非平凡场景中变得不可用。你可以。它需要投入大量的精力和时间,这在一个为期3年的15个开发商项目上是合理的

是的,这是可能的。不,没有内置的。要做到这一点,您需要编写一个使用模型并发出EDMX/代码的程序。这不一定很难,但你必须自己做。您还需要一个模式或属性来处理图中可能没有的建模方面,就像您在进行代码优先建模时必须指定关键字段等一样。

我们在我提到的项目中非常成功,在UML模型中有一个“单一真实来源”。当然,代码生成策略必须是灵活的(不同的原型和“标记值”(我在MS UML中没有看到的企业架构师)可以驱动不同的生成策略,并且我们必须留出空间来手动做出决策。我们仍然有单独的物理数据模型,但逻辑数据模型(相当于EDM)可以在UML模型中看到。尽管如此,这是一个很好的观点,世界是非常不同的。只要它可以看到数据模型的“版本”,并与该接口点对话,那么是的,UML方法应该可以工作(假设您想在UML图中输入那么多信息)。