Welcome

首页 / 软件开发 / .NET编程技术 / Visual Studio DSL入门 5---理解生成的域类和域关系

Visual Studio DSL入门 5---理解生成的域类和域关系2011-02-06 博客园 孤独侠客1. 首先找到Dsl项目中模板DomainClasses.tt生成的DomainClasses.cs,我们来查看一下它由两个类组成:

其实也就对应着我们域模型中的根域类ExampleModel和域类ExampleElement.我们仔细再来看一下ExampleElement类的具体结构.可以发现:

1).字段是Guid类型的,这样更方便关系类中直接引用属性,后续我们也会发现在验证,规则中也会经常使用属性的Guid字段变量来代表属性.

2).我们看到上一节我们看到的关系生成的属性,ExampleElement与ExampleModel的嵌入关系,生成了ExampleModel类型的ExampleModel属性.ExampleElement与自身的引用关系,由于重数是*,生成了强集合类型 LinkedElementCollection<ExampleElement>属性.

3).属性中的Name代表域类的域属性Name。

2. 我们再来看一下域关系,找到DomainRelationships.tt生成的类文件DomainRelationships.cs,查看类图,显示类图中的属性为关系或者是组合关系: