It's released! LLBLGen Pro is gold! The next-gen O/R mapper for .NET.

The wait is over. After 8 long months of full time development, it's done. LLBLGen Pro is finished, the site is now online (go there by clicking here), the online store is available and the champagne is open and tastes as good as ever :)

I want to thank all beta testers for their tremendous amount of work they've put into the tool and for their support and feedback they have given me during the beta period. I also want to thank my wife for her moral support and for her help with the website and documentation. :)

The last thing I want to add before I stop hanging around at this keyboard for a few minutes is: 8 months ago I promised that LLBLGen Pro, the successor of LLBLGen, would be ground-breaking, would deliver features the competition would not have and for a price that was far more affordable than the competition. I hope I have delivered. :)

You can read all about LLBLGen Pro at http://www.llblgen.com

Update: I've uploaded the first sample application for C# and northwind to the llblgen.com site. I'll write more about this soon. Also VB.NET samples and other samples are on their way.

For the direct link to the example, click here

32 Comments

  • Just downloaded the demo :)



    After executing the prog for the first time I get:

    SetupMainGui::Could not load the file: 'guistate.xml' to de-serialize the previous window state back. Reason: this is the first time you run this application or you have manually deleted this file. LLBLGen Pro will use the default window state and window positions.

    SetupMainGui::Complete exception: Could not find file "C:\Program Files\Solutions Design\LLBLGen Pro Demo\guistate.xml".

  • Pushed the button too fast.



    Just wanted to say that the eagle has landed.

  • That's normal behaviour, Kris :) It informs you that it couldn't load the file, and created a new one for you :)



    have fun with the demo :)

  • Congradulations Frans!



    LLBLGen has been great for many projects and now LLBLGen Pro looks great as well! You have been an asset to all of us. Your hard work and dedication is appreciated.



    Now, I have some studying to do :)

  • Thanks Frans! I've been waiting patiently for LLBLGen Pro, thanks for keeping the price reasonable. You have a surefire winner on your hands.

  • Well, congratulations! As soon as I start to develop in .NET; i'll start to use it ;)

  • Heh Nielsz :) And you'll never know when that will be. PHP isn't everything you know ;)

  • Congratulations Frans! Been playing with the demo all day and have to say I'm impressed. Just waiting for confirmation from the boss now so I can buy the full version.

  • Impressive, so easy to use and most helpful documentation.



    Just a quick question... what about inheriting the generated entity classes? What are you thoughts about inheritance within the generated framework?



    btw nice implementation regarding lazy loading and COM+!

  • thanks Paul!



    Check out the two class scenario generator configurations, these will generate 2 classes (using different templates) per entity: one with the core logic (*EntityBase) and one for your code (*Entity). When you update your project, you just re-generate the base classes and keep the inherited classes. :)



  • Please add a demo aspx sample that uses the demo Northwind classes. Any product that forces me to read too much docs before I can have a good feeling about it will get me to lose interest pretty quick. Put a grid that does delete, insert, edit so that in 5 minutes, I can see results and know how the product works.



    I am sure others are impatient like me :)

    llgl open source is a good product. Congrats.



    Abdu

  • Abdu: I know :) a sample app will be up in a few days with a grid, some transactions etc. All the code snippets in the docs are from a test app that will be transformed in this example btw, so you can get started pretty quick, but an example app is definitely planned, however I ran out of time to write that before the deadline. However I'll add one in the next few days.

  • Congratulations Frans! If I ever get to developing using .NET I'll keep your tool in mind ;-)

  • I use LLBLGen all the time and am anxious to try this out (hopefully within the next 2 weeks). If it is as awesome as I am assuming, I will definitely be purchasing this puppy!



    Thanks!

  • How will you make money selling it so cheaply? I would think that support alone would kill you.

  • Billy: I don't have to pay a large amount of developers: I wrote the complete tool myself, we funded the development ourselves, and therefore we can offer the tool for a reasonable price and still make money. :)



    Jason: I'm sure it won't be a dissapointment :)

  • I am looking forward for the sample. Please let us know here. Thanks!



    Abdu

  • Frans,



    I'm so excited about this application, but I'm having a hard time putting it to work. I have to do a quick 1-page site to demonstrate some problem with a proxy server, so I figured it would be a perfect time to play around with the demo version while I'm waiting for my boss to buy the full version for us (which we are definitely doing, btw).



    I'm trying to create a Class Library, following the directions in your help file, and the thing won't compile. I swear I'm not a complete idiot about these sorts of things, but here's what happens:

    --Create new Library project in VS.NET (2002). Called it cNorthwind

    --Generate code. General Config/VB.NET

    --Copy all code into new project folder. Select and include all folders/files in VS.NET, so they're part of the project. Add the references that you specify. (SQLServer, ORMSupportClasses, System.EnterpriseSErvices)

    --Try to compile. Boom.



    The problem is that all the errors are due to missing classes that are trying to be imported, i.e. "Imports SD.NorthwindDAL.FactoryClasses", etc.



    It's the classic chicken-or-egg problem... The classes won't compile if they can't reference other classes that need to be compiled, which themselves won't compile because yadda yadda yadda.



    I'm sorry if I sound like a complete idiot on this, but I was able to make the last (free) version work.

    :-P



  • Matt: It's a faq, it's a thing with VB.NET: if you define a namespace that is different from teh name of the vs.net project, visual studio (or the vb.net compiler) will prefix each namespace name defined with the name of the vb.net project. Here's the faq on the customers area, I'll also add this one to the general faq on the site. If this doesn't help, mail me directly. :)

    ---

    When I compile the VB.NET code I generated with LLBLGen Pro, I get all kinds of errors about missing namespaces, what's wrong?



    You have specified a different name as root namespace than the name of your Visual Studio.NET VB.NET project. When this is the case, Visual Studio.NET will prefix each namespace with the VS.NET project name. See the note in the LLBLGen Pro documentation: Using the designer / Generating Code, at the bottom.

    ----

  • Nice tool!



    Does it support inheritence (with multiple tables)? for example:

    Article (table Article)

    ArticleExtended (table ArticleExtended, 1-1 link to table Article)



    The ArticleExtended class should also be returned as Article.





    Regards,



    Marco

  • Not at the moment no. The reason for this is that inheritence is not a concept that is definable in a relational model. If you have a 1:1 relation between two tables, you can also merge them to one table in theory.



    We decided we should stay close to the relational theory and have created a tool that is based on the theory that is also the base of the E/R model, the base of every relational database schema, in other words: a relational model should be definable with solely DDL. Inheritence is then almost impossible to define (you need values in columns to distinguish classes in the hierarchy). We can always extend it in the (near) future.



    It does generate mappings for all relations automatically, so if you have an extended article, Article.Extended for example will give you the extended info in your schema, it will traverse the 1:1 relation for you.

  • Very Nice!



    Frans,

    Could you explain a little how the Dynamic Query Engine works? Are you simply building a string and sending it as the text of a Command object - or is there more to it?



    TIA,



    DM

  • DM: It builds a string with the SQL, using the filters, relations and fields it receives. It also builds a list of parameters to pass on to the command object for the values specified as values for the query. So the SQL is build using a stringbuilder, the values are passed in parameters :)

  • Dirk: she is :)



    Currently, Oracle driver is in development, DB2 driver is halted for now, since IBM hasn't released a solid .NET driver yet. Further databases which will get support after Oracle are: Firebird/Interbase, Postgresql (both have a driver by Carlos, which works ok) and if I can get it running, MySql 4.x. Because an important part of a schema is the set of foreign keys, it is necessary that MySql supports that. I heared that newer versions do so, so it shouldn't be a problem. However I think that with the planned support of Firebird and Postgresql you won't need MySql :)

  • I'm impressed; bought the Pro version and got my existing framework working in no time with the generated code (I already used a similar setup, that however cost me a LOT of codewriting). Thanks a lot for a great tool!

    MySql is just very widespread as a free database solution for cheap hosting solutions. The ByteFX driver I mentioned very closely follows the standard MS driver signature, so if you can build your catalog and map the datatypes, The runtimelibraries should be rather painless. It 's far superior to other non-GNU drivers, even when it's still in beta (since they're adding a PostgreSQL driver as well)

  • LLBLGen Pro is GREAT! I just bought it and installer it and like Dirk was able to replace my Deklarit framework pretty easily.



    Now if I only knew how to pronounce the name so I could sing its praises to the world! :)



    --Bruce

  • Great feedback, Guys! :)

  • I hope you're working on the examples. It has been over a month since my request and I've heard nothing.



    Abdu

  • Ok thanks. I wasn't aware of the update.



    Abdu

  • When will Oracle be available? I need it bad.

  • Lee: It's released on Monday November 3rd 2003, if no serious bugs show up :)

  • Ahhhh! it's so awfull when you try to do something and you discover that it exists at least 10 times better than you've dreamed of :)



    Congratulation for your gourou-grade application & blog, seems to really be gold!



    Anyway I will try to do it my way for my (small) needs

Comments have been disabled for this content.