This thread looks to be a little on the old side and therefore may no longer be relevant. Please see if there is a newer thread on the subject and ensure you're using the most recent build of any software if your question regards a particular product.
This thread has been locked and is no longer accepting new posts, if you have a question regarding this topic please email us at support@mindscape.co.nz
|
Howzit, I noticed recently that you are working on v5. I have made some notes of things I'd like to see in a future version of LightSpeed, some of which you already implemented. How would you like me to share those notes? Thanks, Werner |
|
|
Hi Werner, At the moment, listing them here is best. We've got a feature voting system coming but unfortunately it won't be available before 5 is out. Thanks! John-Daniel |
|
|
I'd say the first on my wish list is supporting T4 templates and allowing multiple templates to be used against the same lsmodel. This means I can have several templates in different projects to generate
Its critical that these templates need to be different from solution to solution (or even project to project). I have used the existing mechanism to generate code, but found it to be too limiting to achieve what I'm trying to do. It also forced me to work on a single source file. To be honest, T4 is now so common that it would be my preference. The best editor I have found was Entity Developer however, it only works with for NHibernate. In particular, I like the way it manages templates and code generation and that it doesn't have to be integrated with Visual Studio. Thanks, Werner |
|
|
The second on my list is to expand the migrations API to support:
The lack of indexes are often to reason one has performance problems with queries. Currently I have to write migrations specific to each database engine. Its rather tedious. The same goes for seeding the database. Thanks, Werner |
|
|
My wish would be to be allowed to use LightSpeed WindowsPhone-side. :) |
|
|
It would be great if we could set an Entity to manually assign it's PK. I'm ok designing new database schema with LS, but trying to map into a legacy schema that is already in production can be a pain. Regards, Jeff |
|
|
Allow single foreign key for a multiple STI relationships. See http://www.mindscapehq.com/forums/thread/339658 Johan |
|
|
My suggestions focus on LINQ support:
These are the things I consistently walk into. Another thing is dependency injection for the entity creation, I realize that this can be achieved by making a custom entity factory, but some ready-to-use infrastructure that is easy to integrate with MVC for example would be cool (but from my point of view, far less important than further improved LINQ capabilities). |
|
|
The designer in Visual Studio has numerous issues that makes it difficult to use for larger models. Working in the designer has caused Visual Studio to crash and resulted in loss of data. The layout engine is rather horrible. I wish I was able to use a standalone application to design LightSpeed models and generate code from that model similar to entity developer. You should be able to support a plugin model, multiple code generation templates for a single model, shared diagrams for a single model and your own diagramming control (which has a much better layout engine). |
|
|
+1 for the support of larger models. I would like to define different views for the whole diagram. The current solution via Links is more error-prone than it helps. |
|
|
After seeing some posts here by James Newton-King, I started using Dapper when I knew what SQL I needed but could not get LightSpeed to generate it. I also use Dapper to speed up paging queries as it's possible to get the count AND subset of records in one query like this scenario: http://www.mindscapehq.com/forums/thread/327028 I also resorted to Dapper when I needed truly consistent data -- LightSpeed issues separate SELECT statements to fill entities and it's possible to get mismatched data on write-heavy workloads. Dapper works great alongside the LightSpeed models in read/reporting scenarios and it's FAST. Which is the bulk of what I need to do. Basically LightSpeed is amazing for the designer and CRUD work, however it falls over almost immediately with complex LINQ stuff and even the old Query API often won't give you what you need either. EF is (marginally) more robust, however the generated SQL remains atrocious. Given Microsoft's insane engineering budget and the fact that they're only targeting one database engine, my hunch is that LightSpeed is unlikely to make major strides with querying functionality without sacrificing the performance that made me choose it to begin with. Basically LightSpeed is fast and elegant with core CRUD functions but usually doesn't work on complex querying. And that's a totally viable, useful product! Which brings me to the feature request: UnitOfWork.FindBySql works in a pinch, however it lacks the "multi-mapping" feature of Dapper. This lets you write complex SQL and split the result set across multiple Entities by repeating the "Id" field in the select. It can also be used to solve the consistency problem referenced above. |
|
|
Any chance LightSpeed 5 can unify the way we configure the Migrator and LightSpeedContext instances? Can a Migrator be configured from a LightSpeedContext and reuse the connection string, naming strategy, QuoteIdentifiers, PluralizeTableNames etc when running the migration. That way, I can define things once and know my system is correctly configured. Thanks, Werner |
|
|
+1 for Designer stability. I have also had crashes of Visual Studio. (Mostly when doing source control operations (e.g. Get Latest) with the Model designer open) Also, support and stability for lsupdate would be a high priority for me. (Or, failing that, include it in the Source code for those of us who've purchased Source Code licences). John |
|
|
+1 designer stability. I have noticed Visual Studio crashes quite frequently when working with the LS designer. |
|
|
Much of the data stored in the database relates to data stored outside of the database. This includes files stored in Amazon S3 or user identifiers stored elsewhere. It would be if tremendous help if LightSpeed can support events when entities are created, deleted or modified similar to Hibernate. This is a duplicate request of ones I made before. Werner |
|
|
Further to my comment about LSUpdate (above). We are currently working with a model-first workflow. E.g. developer adds field to model, from there the entity is generated and developer uses Update Database to update their local DB. That works just fine for the people who are developers. But, we also have other people in the team who need up-to-date copies of the DB schema. So... what would be really awesome would be if there was an option in LightSpeed called something like "GenerateCreationScriptOnSave". If set, then, every time you save the model file, it would not only update the generated cs file, as it does now, but it would also update a .sql file to produce an up-to-date creation script for the database. This would be great because there would be no way that the script could get out-of-date, with respect to the model. A couple of points (a) the script would obviously be specific to one type of database. (E.g. SQL Server, or My SQL). Presumably it could target the same type of DB as that targeted by UpdateDatabase. (b) I think that it would be equivalent to running Ivan's LSUpdate tool in the background, with two caveats - the LSUpdate would act as if the target database was empty (i.e. generate the full schema) and it would not actually connect to a database (i.e. make script only) What are the chances that something like that might make it into LS 5 ? ;-) Or, if that's not likely at this time, are there any workarounds that you could recommend for us? |
|
|
Big +1 for mmisztal's request above: "My wish would be to be allowed to use LightSpeed WindowsPhone-side. :)" Vikram |
|
|
Add functionality to UnitOfWork's Import methods to include child collections -- so we're able to have something equivalent to NHibernate's Merge/SaveOrUpdateCopy abilities (see here: http://www.codinginstinct.com/2009/11/nhibernate-feature-saveorupdatecopy.html). Vikram |
|
|
For security, privacy and auditing purposes, some information (passwords, social security numbers) should never appear in logs. I'd like to suggest an additional optional attribute for entity properties so that it is masked/excluded when written to logs. There is a workaround for this with a side effect that it requires you to know each column name which is considered sensitive limiting the reuse of the logger between projects. |
|
|
The design should have better support for one way associations. Making support for them easier and more obvious from the designer will help prevent bugs like this. |
|
|
Hi James.
John-Daniel |
|
|
As long as there is a safe guard from not ideal behavior I'm happy. |
|
|
I'd like to see enums becoming a first class citizen within LightSpeed (designer or code) to make it simpler to map in the designer. There are two types of mappings, namely a pure enum (which has no corresponding table) and those enums (like "type" tables) which are mapped to a database. In the case where an enum is mapped to a table, having migrations seed the table with default data will be time saver. |
|
|
I'd love a way to share the LightSpeed model with people who are not hands-on developers. For instance, either:
|
|
|
I'd love support for restricted platforms like Win RT, Silverlight to target offline storage on mobile devices and, if possible, cross platform support via Mono to support iOS and Android devices. |
|
|
+1 for the Diagram improvements, our databases kill the designer. |
|
|
Hi all, First off -- thanks for all the requests for LightSpeed. This thread has been really handy for us to get a clearer picture of what you're all looking for. As part of our new site design we have incorporated a new feature called the "Think Tank", it's a way for you to post feature requests and more easily vote on them. We think it will really help make it easier for us to manage, appreciate the demand for a feature and make it easier for you to make your requests heard. http://www.mindscapehq.com/thinktank/product/9 I'd love it if you would all post your requests in there (any of these + any others you have). We're going to be making improvements to the voting system going forward so feedback on that is also appreciated. I hope that helps, John-Daniel Trask |
|