Hi all

What is the most commonly used object persistence framework for .NET?



Thanks

Pete

Re: Most popular object persistence framework by Michael

Michael
Fri May 04 05:24:22 CDT 2007

Hello Peter,

NHibernate, it's used widely in Java world, before .NET and then was ported
to .NET
But ADO.NET vNext seems to be .NET standard after VS Orcas release: http://msdn2.microsoft.com/en-us/data/aa937723.aspx

---
WBR, Michael Nemtsev [.NET/C# MVP].
My blog: http://spaces.live.com/laflour
Team blog: http://devkids.blogspot.com/

"The greatest danger for most of us is not that our aim is too high and we
miss it, but that it is too low and we reach it" (c) Michelangelo

PM> object persistence framework
PM>



Re: Most popular object persistence framework by Frans

Frans
Sat May 05 02:52:06 CDT 2007

Peter Morris wrote:

> Hi all
>
> What is the most commonly used object persistence framework for .NET?

Hard to say, though I think it's nhibernate.
Looking at the size of the community, we're close though :)

FB

--
------------------------------------------------------------------------
Lead developer of LLBLGen Pro, the productive O/R mapper for .NET
LLBLGen Pro website: http://www.llblgen.com
My .NET blog: http://weblogs.asp.net/fbouma
Microsoft MVP (C#)
------------------------------------------------------------------------

Re: Most popular object persistence framework by Daniel

Daniel
Tue May 08 03:10:55 CDT 2007

try also Gentle .NET (http://www.mertner.com/confluence/display/Gentle/Home)
and Sooda (www.sooda.org)

Gentle .NET provides caching, automatic sql query building, data binding,
database suport:
http://www.mertner.com/confluence/display/Gentle/Database+Provider+-+Implementation+Status.
suport is only for 1.x for now. version 2.0 is unverway;

Sooda provides code generation, caching, automatic sql query building and
support for .net 1.x and 2.0 and MS sql 2000/2005/Express

Cheers,
Daniel

"Peter Morris" <support@NOdroopySPAMeyes.com> wrote in message
news:%23V1KTEjjHHA.1216@TK2MSFTNGP03.phx.gbl...
> Hi all
>
> What is the most commonly used object persistence framework for .NET?
>
>
>
> Thanks
>
> Pete
>



Re: Most popular object persistence framework by hp

hp
Tue May 08 23:42:00 CDT 2007

Hi Pete,

Persistor.NET is not the most commonly used - but the best solution if
you are satisfied with forward mapping only. It is not an O/R mapper
but it stores your object model without any compromise - all your
classes and even all .NET Framework classes.

Hans-Peter

----------------------------------------------------------------
Save Objects Simply!
2Top Software Engineering GmbH
<a href="http://www.persistor.net/">www.persistor.net</a>



Re: Most popular object persistence framework by hp

hp
Tue May 08 23:53:23 CDT 2007

Hi Pete,

Persistor.NET is not the most commonly used - but the best solution
if
you are satisfied with forward mapping only. It is not an O/R mapper
but it stores your object model without any compromise - all your
classes and even all .NET Framework classes.


Hans-Peter


----------------------------------------------------------------
Save Objects Simply!
2Top Software Engineering GmbH
www.persistor.net


Re: Most popular object persistence framework by Jon

Jon
Wed May 09 01:37:17 CDT 2007

<hp.haberlandner@gmx.at> wrote:
> Persistor.NET is not the most commonly used - but the best solution if
> you are satisfied with forward mapping only. It is not an O/R mapper
> but it stores your object model without any compromise - all your
> classes and even all .NET Framework classes.

And your opinion that it's the best solution is entirely impartial, I
suppose? ;)

--
Jon Skeet - <skeet@pobox.com>
http://www.pobox.com/~skeet Blog: http://www.msmvps.com/jon.skeet
If replying to the group, please do not mail me too

Re: Most popular object persistence framework by Frans

Frans
Wed May 09 02:46:09 CDT 2007

Jon Skeet [C# MVP] wrote:

> <hp.haberlandner@gmx.at> wrote:
> > Persistor.NET is not the most commonly used - but the best solution
> > if you are satisfied with forward mapping only. It is not an O/R
> > mapper but it stores your object model without any compromise - all
> > your classes and even all .NET Framework classes.
>
> And your opinion that it's the best solution is entirely impartial, I
> suppose? ;)

Hehe, why would you think that, Jon ;)

FB

--
------------------------------------------------------------------------
Lead developer of LLBLGen Pro, the productive O/R mapper for .NET
LLBLGen Pro website: http://www.llblgen.com
My .NET blog: http://weblogs.asp.net/fbouma
Microsoft MVP (C#)
------------------------------------------------------------------------

Re: Most popular object persistence framework by Mike

Mike
Fri May 11 16:15:25 CDT 2007

I don't mean to hijack the thread but this seems like the right group to
ask;

Can anyone comment on the current state of the ORM/Persistent products and
support for proper and full WPF binding?

I've run into some problems with my current choice and I'm ready to jump -
specifically any experience with nhibernate with exceed's wpf data grid?
(seems like that combination would push all the buttons to see if they
worked).


"Peter Morris" <support@NOdroopySPAMeyes.com> wrote in message
news:%23V1KTEjjHHA.1216@TK2MSFTNGP03.phx.gbl...
> Hi all
>
> What is the most commonly used object persistence framework for .NET?
>
>
>
> Thanks
>
> Pete
>


Re: Most popular object persistence framework by Frans

Frans
Sun May 13 06:32:38 CDT 2007

Mike Partain wrote:

> I don't mean to hijack the thread but this seems like the right group
> to ask;
>
> Can anyone comment on the current state of the ORM/Persistent
> products and support for proper and full WPF binding?

It's my understanding that WPF supports full .NET 2.0 binding, which
means as long as INotifyPropertyChanged is implemented, it will work
properly.

DependencyProperty support is a total different ballgame, I think you
then will be dissapointed for the moment, however, when I look around
for full WPF control libraries, I don't see many offerings as well at
the moment.

> I've run into some problems with my current choice and I'm ready to
> jump - specifically any experience with nhibernate with exceed's wpf
> data grid? (seems like that combination would push all the buttons to
> see if they worked).

What's the current tool you're using, and does it use / implement
INotifyPropertyChanged on the entity classes ? (directly via code
generation/base classes or via dyn. proxy / IL weaving ) ?

FB

>
>
> "Peter Morris" <support@NOdroopySPAMeyes.com> wrote in message
> news:%23V1KTEjjHHA.1216@TK2MSFTNGP03.phx.gbl...
> > Hi all
> >
> > What is the most commonly used object persistence framework for
> > .NET?


--
------------------------------------------------------------------------
Lead developer of LLBLGen Pro, the productive O/R mapper for .NET
LLBLGen Pro website: http://www.llblgen.com
My .NET blog: http://weblogs.asp.net/fbouma
Microsoft MVP (C#)
------------------------------------------------------------------------

Re: Most popular object persistence framework by Mike

Mike
Mon May 14 16:42:16 CDT 2007

The framework I am using does not implement INotifyPropertyChanged. I have
been provided a work around, and it 'supposed' to be implemented in the next
release. I personally prefer not to add a bunch of custom code then have to
remove it next release. Then again, who knows when the next release will be
and if it does not implement it I've waited for nothing. Since WPF has been
available in some form or another for vendors to prepare for quite some
time, i am indeed disapointed at the moment.

As a side note, I did test the work around provided, and while it worked
with a simple 2 way binding test, as soon as a tried to use it with exceed's
data grid I ran into other problems - giving me even less of a reason to
pursue that path.

So again, the simple questions is; Is there any persistent/ORM products you
can use with exceed's data grid currently without adding code? I specificy
exceed's datagrid because it is a component that is available for free.
Whether or not it becomes the grid of choice remains to be seen. I see that
infragistics is now shipping their WPF controls and I plan on trying them
out shortly. Their price is good (although not free, they are inexpensive
enough). I am making a leap of faith that if a Persitent/ORM layer works
with exceed it would also work well with infragistics.

I do not see the lack of WPF control libraries as a problem. WPF seems rich
enough as is, with the exception of no grid. And even without that, using a
listview in grid mode provides adaquate browsing and can easily be coupled
to robust editing, just not in place. My current requirement for a grid is
simply a developers shortcut for advanced users and not needed for general
end user use. Down the road, pivot table styles grids would be nice to have
and exceed seems to be able to do what I need.

Have you seen Family Show?

http://www.vertigo.com/familyshow.aspx

What a nice UI pardigm for browsing database relations and generating code
eh ? (hint hint)
If I knew for sure NHibernate was WPF compatible, I think I'd throw a code
generator together myself :)

M

"Frans Bouma [C# MVP]" <perseus.usenetNOSPAM@xs4all.nl> wrote in message
news:xn0f65o9f4pnp2000@news.microsoft.com...
> Mike Partain wrote:
>
>> I don't mean to hijack the thread but this seems like the right group
>> to ask;
>>
>> Can anyone comment on the current state of the ORM/Persistent
>> products and support for proper and full WPF binding?
>
> It's my understanding that WPF supports full .NET 2.0 binding, which
> means as long as INotifyPropertyChanged is implemented, it will work
> properly.
>
> DependencyProperty support is a total different ballgame, I think you
> then will be dissapointed for the moment, however, when I look around
> for full WPF control libraries, I don't see many offerings as well at
> the moment.
>
>> I've run into some problems with my current choice and I'm ready to
>> jump - specifically any experience with nhibernate with exceed's wpf
>> data grid? (seems like that combination would push all the buttons to
>> see if they worked).
>
> What's the current tool you're using, and does it use / implement
> INotifyPropertyChanged on the entity classes ? (directly via code
> generation/base classes or via dyn. proxy / IL weaving ) ?
>
> FB
>
>>
>>
>> "Peter Morris" <support@NOdroopySPAMeyes.com> wrote in message
>> news:%23V1KTEjjHHA.1216@TK2MSFTNGP03.phx.gbl...
>> > Hi all
>> >
>> > What is the most commonly used object persistence framework for
>> > .NET?
>
>
> --
> ------------------------------------------------------------------------
> Lead developer of LLBLGen Pro, the productive O/R mapper for .NET
> LLBLGen Pro website: http://www.llblgen.com
> My .NET blog: http://weblogs.asp.net/fbouma
> Microsoft MVP (C#)
> ------------------------------------------------------------------------


Re: Most popular object persistence framework by Frans

Frans
Tue May 15 03:09:07 CDT 2007

Mike Partain wrote:

> The framework I am using does not implement INotifyPropertyChanged. I
> have been provided a work around, and it 'supposed' to be implemented
> in the next release. I personally prefer not to add a bunch of custom
> code then have to remove it next release. Then again, who knows when
> the next release will be and if it does not implement it I've waited
> for nothing. Since WPF has been available in some form or another
> for vendors to prepare for quite some time, i am indeed disapointed
> at the moment.

It's always a challenge to keep up, and because MS doesn't have a
solid designer for developers anyway, I think some framework developers
will simply think "it's not my problem". What's a bit odd is that
INotifyPropertyChanged is an interface which is necessary for .NET 2.0
databinding as well, so if the framework vendor / writer of the
framework you're using would have added true .NET 2.0 support, it would
have been already there.

We added INotifyPropertyChanged back in July 2006 in v2.0 of llblgen
pro because the interface makes it possible to get rid of the list of
<propertyname>Changed events which were otherwise necessary to get true
databinding.

> As a side note, I did test the work around provided, and while it
> worked with a simple 2 way binding test, as soon as a tried to use it
> with exceed's data grid I ran into other problems - giving me even
> less of a reason to pursue that path.

No offence to Exceed in particular, but control vendors don't always
play nice when it comes to obeying databinding 'standards', although I
have to give them the credit that the 'standard' isn't really clearly
defined by MS.

> So again, the simple questions is; Is there any persistent/ORM
> products you can use with exceed's data grid currently without adding
> code? I specificy exceed's datagrid because it is a component that is
> available for free. Whether or not it becomes the grid of choice
> remains to be seen. I see that infragistics is now shipping their WPF
> controls and I plan on trying them out shortly. Their price is good
> (although not free, they are inexpensive enough). I am making a leap
> of faith that if a Persitent/ORM layer works with exceed it would
> also work well with infragistics.

haha, no.

I wished it was that simple. Even though silly interfaces like
ITypedList and IBindingList are available for a long time, it's still
hard for some control vendors to even use them properly. For example
infragistics didn't use ITypedList for a long time, which made the grid
pull the complete database into memory if you used lazy loading as it
would trigger lazyloading every time it read an IList implementing
property of an entity object in the list bound to the grid. :)

And on the web for example, you have in asp.net 2.0 a class called
DataSourceControl. Every datasource control derives from it. You can do
everything via that base class, so a grid just has to work with that
class and every datasource control can work with the grid. Still there
are some control vendors out there who have no clue whatsoever about
OO, inheritance and polymorphism and simply try to cast the bound
datasource control to one of the vanilla .NET ones. If that fails, they
give up.

So, in theory, it all should work fine, in practise however, it's a
completely different ballgame.

> I do not see the lack of WPF control libraries as a problem. WPF
> seems rich enough as is, with the exception of no grid. And even
> without that, using a listview in grid mode provides adaquate
> browsing and can easily be coupled to robust editing, just not in
> place.

It was my understanding that it could be done, by adding edit controls
to the listview. But it will be a challenge of course to mimic the
whole new row experience with dual ESC roll back behavior.

> My current requirement for a grid is simply a developers
> shortcut for advanced users and not needed for general end user use.
> Down the road, pivot table styles grids would be nice to have and
> exceed seems to be able to do what I need.
>
> Have you seen Family Show?
>
> http://www.vertigo.com/familyshow.aspx
>
> What a nice UI pardigm for browsing database relations and generating
> code eh ? (hint hint) If I knew for sure NHibernate was WPF
> compatible, I think I'd throw a code generator together myself :)

I think I read on Ayende's blog a couple of weeks ago he did add
support for INotifyPropertyChanged to nhibernate in less than 100
lines. It shouldn't be that hard either, as nhibernate generates dyn.
proxies at runtime anyway, so emitting an interface and an event isn't
that hard.

I don't know if he added the more complex 'is this value really
changed' check as well, which is required to have proper runtime change
event behavior. (if a value hasn't changed, don't raise the event. This
differs between new entity objects and existing entity objects).

FB



>
> M
>
> "Frans Bouma [C# MVP]" <perseus.usenetNOSPAM@xs4all.nl> wrote in
> message news:xn0f65o9f4pnp2000@news.microsoft.com...
> > Mike Partain wrote:
> >
> > > I don't mean to hijack the thread but this seems like the right
> > > group to ask;
> > >
> > > Can anyone comment on the current state of the ORM/Persistent
> > > products and support for proper and full WPF binding?
> >
> > It's my understanding that WPF supports full .NET 2.0 binding, which
> > means as long as INotifyPropertyChanged is implemented, it will work
> > properly.
> >
> > DependencyProperty support is a total different ballgame, I think
> > you then will be dissapointed for the moment, however, when I look
> > around for full WPF control libraries, I don't see many offerings
> > as well at the moment.
> >
> > > I've run into some problems with my current choice and I'm ready
> > > to jump - specifically any experience with nhibernate with
> > > exceed's wpf data grid? (seems like that combination would push
> > > all the buttons to see if they worked).
> >
> > What's the current tool you're using, and does it use / implement
> > INotifyPropertyChanged on the entity classes ? (directly via code
> > generation/base classes or via dyn. proxy / IL weaving ) ?
> >
> > FB
> >
> > >
> > >
> >>"Peter Morris" <support@NOdroopySPAMeyes.com> wrote in message
> > > news:%23V1KTEjjHHA.1216@TK2MSFTNGP03.phx.gbl...
> >>> Hi all
> > > >
> >>> What is the most commonly used object persistence framework for
> >>> .NET?


--
------------------------------------------------------------------------
Lead developer of LLBLGen Pro, the productive O/R mapper for .NET
LLBLGen Pro website: http://www.llblgen.com
My .NET blog: http://weblogs.asp.net/fbouma
Microsoft MVP (C#)
------------------------------------------------------------------------

Re: Most popular object persistence framework by Mike

Mike
Tue May 15 13:26:19 CDT 2007

Thanks for the info Frans - i'm even more depressed now.
Anyone remember dBase III? (rhetorical question of course).

M
"Frans Bouma [C# MVP]" <perseus.usenetNOSPAM@xs4all.nl> wrote in message
news:xn0f68c2r1f3g2000@news.microsoft.com...
> Mike Partain wrote:
>
>> The framework I am using does not implement INotifyPropertyChanged. I
>> have been provided a work around, and it 'supposed' to be implemented
>> in the next release. I personally prefer not to add a bunch of custom
>> code then have to remove it next release. Then again, who knows when
>> the next release will be and if it does not implement it I've waited
>> for nothing. Since WPF has been available in some form or another
>> for vendors to prepare for quite some time, i am indeed disapointed
>> at the moment.
>
> It's always a challenge to keep up, and because MS doesn't have a
> solid designer for developers anyway, I think some framework developers
> will simply think "it's not my problem". What's a bit odd is that
> INotifyPropertyChanged is an interface which is necessary for .NET 2.0
> databinding as well, so if the framework vendor / writer of the
> framework you're using would have added true .NET 2.0 support, it would
> have been already there.
>
> We added INotifyPropertyChanged back in July 2006 in v2.0 of llblgen
> pro because the interface makes it possible to get rid of the list of
> <propertyname>Changed events which were otherwise necessary to get true
> databinding.
>
>> As a side note, I did test the work around provided, and while it
>> worked with a simple 2 way binding test, as soon as a tried to use it
>> with exceed's data grid I ran into other problems - giving me even
>> less of a reason to pursue that path.
>
> No offence to Exceed in particular, but control vendors don't always
> play nice when it comes to obeying databinding 'standards', although I
> have to give them the credit that the 'standard' isn't really clearly
> defined by MS.
>
>> So again, the simple questions is; Is there any persistent/ORM
>> products you can use with exceed's data grid currently without adding
>> code? I specificy exceed's datagrid because it is a component that is
>> available for free. Whether or not it becomes the grid of choice
>> remains to be seen. I see that infragistics is now shipping their WPF
>> controls and I plan on trying them out shortly. Their price is good
>> (although not free, they are inexpensive enough). I am making a leap
>> of faith that if a Persitent/ORM layer works with exceed it would
>> also work well with infragistics.
>
> haha, no.
>
> I wished it was that simple. Even though silly interfaces like
> ITypedList and IBindingList are available for a long time, it's still
> hard for some control vendors to even use them properly. For example
> infragistics didn't use ITypedList for a long time, which made the grid
> pull the complete database into memory if you used lazy loading as it
> would trigger lazyloading every time it read an IList implementing
> property of an entity object in the list bound to the grid. :)
>
> And on the web for example, you have in asp.net 2.0 a class called
> DataSourceControl. Every datasource control derives from it. You can do
> everything via that base class, so a grid just has to work with that
> class and every datasource control can work with the grid. Still there
> are some control vendors out there who have no clue whatsoever about
> OO, inheritance and polymorphism and simply try to cast the bound
> datasource control to one of the vanilla .NET ones. If that fails, they
> give up.
>
> So, in theory, it all should work fine, in practise however, it's a
> completely different ballgame.
>
>> I do not see the lack of WPF control libraries as a problem. WPF
>> seems rich enough as is, with the exception of no grid. And even
>> without that, using a listview in grid mode provides adaquate
>> browsing and can easily be coupled to robust editing, just not in
>> place.
>
> It was my understanding that it could be done, by adding edit controls
> to the listview. But it will be a challenge of course to mimic the
> whole new row experience with dual ESC roll back behavior.
>
>> My current requirement for a grid is simply a developers
>> shortcut for advanced users and not needed for general end user use.
>> Down the road, pivot table styles grids would be nice to have and
>> exceed seems to be able to do what I need.
>>
>> Have you seen Family Show?
>>
>> http://www.vertigo.com/familyshow.aspx
>>
>> What a nice UI pardigm for browsing database relations and generating
>> code eh ? (hint hint) If I knew for sure NHibernate was WPF
>> compatible, I think I'd throw a code generator together myself :)
>
> I think I read on Ayende's blog a couple of weeks ago he did add
> support for INotifyPropertyChanged to nhibernate in less than 100
> lines. It shouldn't be that hard either, as nhibernate generates dyn.
> proxies at runtime anyway, so emitting an interface and an event isn't
> that hard.
>
> I don't know if he added the more complex 'is this value really
> changed' check as well, which is required to have proper runtime change
> event behavior. (if a value hasn't changed, don't raise the event. This
> differs between new entity objects and existing entity objects).
>
> FB
>
>
>
>>
>> M
>>
>> "Frans Bouma [C# MVP]" <perseus.usenetNOSPAM@xs4all.nl> wrote in
>> message news:xn0f65o9f4pnp2000@news.microsoft.com...
>> > Mike Partain wrote:
>> >
>> > > I don't mean to hijack the thread but this seems like the right
>> > > group to ask;
>> > >
>> > > Can anyone comment on the current state of the ORM/Persistent
>> > > products and support for proper and full WPF binding?
>> >
>> > It's my understanding that WPF supports full .NET 2.0 binding, which
>> > means as long as INotifyPropertyChanged is implemented, it will work
>> > properly.
>> >
>> > DependencyProperty support is a total different ballgame, I think
>> > you then will be dissapointed for the moment, however, when I look
>> > around for full WPF control libraries, I don't see many offerings
>> > as well at the moment.
>> >
>> > > I've run into some problems with my current choice and I'm ready
>> > > to jump - specifically any experience with nhibernate with
>> > > exceed's wpf data grid? (seems like that combination would push
>> > > all the buttons to see if they worked).
>> >
>> > What's the current tool you're using, and does it use / implement
>> > INotifyPropertyChanged on the entity classes ? (directly via code
>> > generation/base classes or via dyn. proxy / IL weaving ) ?
>> >
>> > FB
>> >
>> > >
>> > >
>> >>"Peter Morris" <support@NOdroopySPAMeyes.com> wrote in message
>> > > news:%23V1KTEjjHHA.1216@TK2MSFTNGP03.phx.gbl...
>> >>> Hi all
>> > > >
>> >>> What is the most commonly used object persistence framework for
>> >>> .NET?
>
>
> --
> ------------------------------------------------------------------------
> Lead developer of LLBLGen Pro, the productive O/R mapper for .NET
> LLBLGen Pro website: http://www.llblgen.com
> My .NET blog: http://weblogs.asp.net/fbouma
> Microsoft MVP (C#)
> ------------------------------------------------------------------------