It would be useful to have support for nested types.
In terms of UI, I would recommend simply allowing the use of "." in class-names. (alternatively, you could add a ParentClassName property to classes, but that would probably complicate code generation, as you would need to check for this property when generating filenames, and when referencing the type from a navigation-property.)
In terms of code-generation, nested types are allowed to reside in separate files, in multiple partial classes - so that should be fairly straight-forward to do. For example, for a nested type Foo.Bar:
Code: Select all
public partial class Foo
{
public partial class Bar
{
// ...
}
}
(EDIT: not quite true - you would have to look at the parent type to discover if the parent type was defined as abstract, and take that into account.)