Construct domain models faster than ever before!
The LightSpeed Model designer is integrated directly into Visual Studio so that you don't have to leave your development environment to create a rich domain model. With a sophisticated design surface that supports both model first and database first approaches you can work exactly how you want without having the tools get in your way.
The LightSpeed designer is available as part of every edition of LightSpeed. Click here to download and try it out for yourself with our free LightSpeed Express Edition.
Key features of the LightSpeed Designer
|Beautiful diagram surface. Working with LightSpeed entities is easy and makes setting up a domain model fast. Whether taking a model first or database first approach to development, the LightSpeed designer will make it easy to work with entity elements, relationships, relation names, properties, stored procedures, views and much more. Working with your LightSpeed domain model could not be easier.|
|Schema round tripping enables developers to work in a database first or model first approach. This means that a developer can create entities on the design surface and persist the changes to the database (create tables, fields, etc) or make database changes and instruct the model to identify changes in the database and update accordingly. Schema round tripping is intelligent enough to identify if a table or field is added or removed, if a field has changed nullability, precision or type!|
|Get started faster! Never experience a "well, what do I do now?" moment - once a developer has created a domain model they can right click the design surface and select "Getting Started" which provides information about what is required in your application configuration as well as sample code on writing your first query. It couldn't be simpler to get started with LightSpeed.|
|Manage entity properties directly. Entities can have many different properties set against them - base classes, cache information, cascading delete support, identity management, concurrency features, soft delete state, management of creation and modification dates, schema information and much much more. Managing these properties can be done through the properties pane directly within Visual Studio, making it easy to manage your entities.|
|Manage entity fields easily. Each entity can have many different properties that map into fields on your database and each of these can have various properties configured on them. For example - custom attributes, data type information, validation, search engine indexing state, nullable state, custom column mappings and much more. Most of these will automatically be configured when dragging a table on but being able to customise your entities properties is simple when you do wish to make a change.|
|Multiple database support is something that LightSpeed has provided since version 1 and therefore the designer is built to work with multiple databases engines as well. Visual Studio database providers are available for most database engines that LightSpeed supports meaning all the power of schema round tripping is available whether you're using SQL Server, Oracle, MySQL, PostgreSQL, SQLite... almost anything!|
|Filtering and saved views is a great way to quickly find an entity, association or eager load graph that you're looking for. Simply type in a filter and the design surface updates in front of you to show what matches. Created a specific view that you want to refer to in future? Save it as a view to refer to in the future! Read more about filtering here.|
|Linked models for huge models is a great way to divide your model up across multiple model design surfaces (and files). This is particularly useful when your system consists of several logical parts but you want to have one large shared model. The LightSpeed Designer is the only Visual Studio integrated designer that support multiple model diagrams linked together. Read more about linked models here.|
|T4 template code generation is supported with the LightSpeed designer. The LightSpeed designer uses nvelocity templates by default however T4 templates are of interest to some .NET developers and so support for passing the code generation to T4 templates is possible.|
|Reminder notes make it easy to keep track of what you were thinking when you designed your model. It can also be useful for sharing your design ideas when rapidly building up a domain model across several developers. Simple and effective.|
|LINQ-to-SQL Import means that when you're ready to migrate off an existing LINQ-to-SQL data model (for whatever reason) you can just drag and drop your existing .dbml file onto the designer surface and it will load your existing LINQ classes into the LightSpeed model. Super simple and then you have all the benefits of the LightSpeed designer and core LightSpeed engine!|
|Keyboard support has been well considered so that developers who prefer to work the keyboard rather than the mouse can do just that. Smart property creation as well as all the usual keyboard shortcuts and hot keys mean keyboard lovers have nothing to fear from using the LightSpeed Designer.|
|Views can be dragged and dropped from the server explorer just like regular tables. LightSpeed supports working with views so they're treated as first class citizens from the designer as well. To learn more about working with Views from the designer you can watch our screencast.|
|Stored procedures can be dragged and dropped from the server explorer and will result in generating entities that match their output for LightSpeed to work with. The designer will inspect the stored procedure and if it maps into an existing entity type it will connect the stored procedure to that however if it does not match, the designer will generate a new entity for you! Parameters are supported on the stored procedures also. Watch our screencast to learn more.|
|First class value object support. Value objects are handy for extracting elements of an entity and allowing that structure to be shared by other entities (a good example is an Address structure). The LightSpeed designer makes it easy to extract common properties out into a value object - simply right click a field and select "Extract to Value Object".|
|Converting relationship types is easy. Have a many to one relationship you'd rather was a one to one? Simply right click the relationship and selected "Convert to One-to-one association" and you're done. Want to change it back? Right click again and select "Convert to One-to-many association". Working with associations is designed to be painless with the LightSpeed designer.|
|Work with large models easier. When working with very large models it can become difficult working with a diagram. The LightSpeed designer includes a panel that shows a complete break down of all entities, properties, stored procedures, views and properties so that developers can quickly and easily work with an entity on a large model. Of course, the diagram surface can also be zoomed if a developer want to see more of the model on the screen also!|
|Work with inheritance. Working with database inheritance structures can be challenging in most design tools however the LightSpeed designer supports creating and working with Single Table Inheritance (STI) and Concrete Table Inheritance (CTI) patterns. To show true first class support for working with these structures, even schema round tripping is aware of these being used and will keep your model and database in sync.|
|Many-to-many without the hassle. LightSpeed uses the terminology of "through association" to manage many-to-many associations. Managing these is traditionally a challenge however the LightSpeed designer makes it a breeze with first class support for this association type. Create a many to many association by dragging between the two entities and a table will automatically be created. Database first? No problem - that's handled as well!|
Don't want to use the designer?
LightSpeed also ships with several command line tools that enable the creation of a model from a database (lsgen.exe) and creation of a schema from a model assembly (lsgetmodel.exe).
We also appreciate any feature feedback - most features in the LightSpeed designer have been added based on requests from LightSpeed users.