|
Microsoft .Net solutions really don't compare with scripting language solutions - even OOP ones like Ruby. Things must be attacked differently when you don't have a compiler or the powerful intellisense that Visual Studio provides. If I was doing a Ruby project, I wouldn't want strongly typed objects/members at all. I would want a lean, mean, runtime machine.
|
|
|
|
|
I'm fully aware of that. I use LLBLGen for my OR/M layer. I was just remarking on the fact that Marc's framework sounds an awful lot like ActiveRecord.
Oh geez... the forum keeps spinning... you'll take care o f it i'm sure, c'ause ... yeah, i neede this. *cough* anyway good job finding the bug. -Shog9 on...a Firefox bug.
|
|
|
|
|
I use MyGeneration to generate dOOdads objects.
Because you can also write your own templates, MyGeneration can be used to create your own data-tier. Infact you can use it for existing ones like Gentle.NET, NHibernate, Opf3 and more.
It's free too. So I am surprised more don't use it. A new version (based on .NET 2.0) will be coming out (within the year hopefully) which will be even better (that will be an achievement in itself).
|
|
|
|
|
I spent a few days writing a MyGeneration template to create the shim classes required for dOOdad objects to mesh well with the ASP.NET 2.0 GridView. As it turns out, EntitySpaces does everything I was trying to accomplish RIGHT NOW.
Now, I'm rewriting my app code to switch over to EntitySpaces.
|
|
|
|
|
I use also MyGeneration to generate dOOdads objects.
I like this because it's handy and also you'll get quick an answer for a question in the forum.
May there will be an option for me change to EntitySpaces in the futures. But at the moment
this tool fits for me.
Great, thank the develeoper for this great Tool. Good works.
|
|
|
|
|
EasyObjects.NET - The O/RM for Microsoft's Enterprise Library
- An Object/Relational Mapper (ORM) library written entirely in C# and built on top of Microsoft's Enterprise Library and the Data Access Application Block (DAAB).
- Map data in your tables to strongly-typed objects with built-in features for looping, data binding and null-value handling.
- Advanced database features include bulk saving, transaction support, a custom dynamic query syntax and dynamic connection strings.
- Support for SQL Server and Oracle included.
- Support for custom dynamic query providers, controlled by configuration file.
- Code-generation scripts for the popular MyGeneration code generator.
- Feature compatible with Mike Griffin's dOOdads architecture.
- New in 1.1! Ability to perform all database operations without stored procedures.
- New in 1.1! Support for SQL aggregate functions.
There is also a .NET 2.0 version available as a Community Technology Preview.
Matt Noonan
http://www.easyobjects.net
|
|
|
|
|
EntitySpaces is a new Architecture for .NET 2.0 and can be found at http://www.entityspaces.net EntitySpaces is truly provider indendent and generated by MyGeneration. We have Sql, Access and Oracle support now, our next release will have MySQL support. EntitySpaces can run with or without stored procedures and has a powerful dynamic query syntax, supports serialization and makes a great alternative to the DotNetNuke DAL for DotNetNuke Development
Mike Griffin
EntitySpaces LLC
http://www.entityspaces.net
|
|
|
|
|
Hello,
I use no tool for my data layers at the moment. The project that I currently work on (my graduation project) is not long enough to get to that phase. The other developers I work with don't use a tool either.
After I graduate - and when I'be employed by my current employer - I'll start to look for a tool that supports my demands:
<list>Generates database and related classes based on a description (possible XML hidden by a GUI). This will be for simple applications
Generates a data layer with mapper classes that map the domain objects to the database. This should be possible based on metadata and hopefully for .NET assemblies in some way (serialization?). This will be for the more complex systems with extensive domain models
Should support transaction management to some degree and things like a Registry, etc.
Does anybody know an application that supports these demands?
Behind every great black man...
... is the police. - Conspiracy brother
Blog[^]
|
|
|
|
|
Bob Stanneveld wrote: Should support transaction management to some degree and things like a Registry, etc.
Registry??
Norman Fung
|
|
|
|
|
A registry makes sure that a domain object is loaded only once from the database. For example when thread A request a domain object with ID 1, the registry loads it from the database. Now a second thread also requests a domain object with ID 1, the registry returns the already loaded domain object instead of loading another copy from the database. Offcoarse you have to have some transaction management and the like.
Behind every great black man...
... is the police. - Conspiracy brother
Blog[^]
|
|
|
|
|
|
|
MyGeneration has a great Gentle.NET Template written by Angelo
|
|
|
|
|
While not very useful in event-driven or SOA architectures, this tool has saved me a lot of work. The tool makes it possible to map standard .NET classes to tables in a wide variety of database systems. It takes about 5 minutes to write the mapping files and you don't even need to create the database, just let NHibernate do that for you.
I can recommend this one to people who dont have the time to create their own data-tier model and want to work object-oriented http://www.hibernate.org/[^]
WM.
What about weapons of mass-construction?
-- modified at 12:40 Monday 24th April, 2006
|
|
|
|
|
Willem,
GenWise Studio generates all the POCO + Factories + XML for NHiberate.
So, you can have a working ASP.NET 2.0 + NHibernate in minutes.
Sebastian Talamoni
|
|
|
|
|
Is this Genwise studio free? Or is it a commercial product?
WM.
What about weapons of mass-construction?
|
|
|
|
|
After seeing the price I think I'll stay with the current method, it works just fine is a lot cheaper and I doubt that I will get much more productive.
WM.
What about weapons of mass-construction?
|
|
|
|
|
MyGeneration can generate NHibernate objects. Just fire up MyGeneration, open the template browser (folder with a + next to it), click the globe and you should see an NHibernate 'folder' in the list. It contains several templates which you can use (and change for your own purposes).
|
|
|
|
|
I love Hibernate. But how do you handle lookup fields?
class Order {
...
...
Invoice _invoice; //Will this result in database round trip when loading Order?
...
}
Versus:
class Order {
...
...
int _invoiceID;
...
}
Lazy load also has her own problems:
class Order {
...
Hashtable _orderItems;
}
class OrderItem {
...
Order _parent;
...
}
Will this causes recursive loading when lazyload=false? Not to mention... error messages from NHibernate seems to be ... could have been more developer friendly.
Norman Fung
|
|
|
|
|
Indeed, Hibernate has its own problems ,you have to review your design carefully when using this problem. but IMHO all products have their own problems and strategies.
Will take a look at MyGeneration too...
WM.
What about weapons of mass-construction?
|
|
|
|
|
The tools are available and the code is simple especially since .NET now supports metadata from databases. Of course I have not used any of the tools (budget constraints in places I work usually prohibit random purchases) so I cannot judge my method over the others.
"Until the day of his death, no man can be sure of his courage" -- Jean Anouilh
|
|
|
|
|
Another one reinventing the wheel...
|
|
|
|
|
Ennis Ray Lynch, Jr. wrote: The tools are available and the code is simple
Not if you want to properly support design time databinding it isn't. There's a lot of undocumented magic going on in the dataset classes. Simple binding scenarios are easy enough to support, but when you get into hierarchical stuff its a world of pain.
Ryan
"Michael Moore and Mel Gibson are the same person, except for a few sit-ups. Moore thought his cheesy political blooper reel was going to tell people how to vote. Mel thought that his little gay SM movie about his imaginary friend was going to help him get to heaven."
- Penn Jillette
|
|
|
|
|
That is probably the reason that I do not use datasets or databinding. Some magic is for people that don't want to understand the science. Personally, I feel that using a tool that "does everything" will eventually lead to hacks in the maintenance phase of the project so unless I have a very compelling reason using MS magic is a non-answer :p
"Until the day of his death, no man can be sure of his courage" -- Jean Anouilh
|
|
|
|
|
I really should as I'm a big exponent of code-generation and other techniques that speed up development time.
I've just never come across a tool that I like.
So of the work I did with MyXaml was promising but I've since moved to working with ASP.NET and not had time to relook at the problem.
Michael
CP Blog [^] Development Blog [^]
|
|
|
|