Fetch Detail Entity

Posts   
 
    
christof
User
Posts: 19
Joined: 08-Jun-2008
# Posted on: 21-Jan-2010 16:33:58   

Hello

I have a big problem

I have on Entity Berufsgruppe and one Entity Meldenummer The two Entity's have a Relataion 1 Berufsgruppe -> n Meldenummer

1 Schlosser ---1 Maier true ---2 Müller false (this Entity must be visibible false) ---3 usw true 2 Elektriker ---4 Schulz true ---5 Krause true ---6 usw true

The Entity Meldenummer have a Boolean Field named Sichtbar

How can I fetch a EntityCollection with all Berufsgruppe and all Meldenummer with Sichtbar = true

The following code dont work

 IPrefetchPath2 prefetchPath = new PrefetchPath2((int)EntityType.BerufsgruppeEntity);
                prefetchPath.Add(BerufsgruppeEntity.PrefetchPathMeldenummmer);
                IRelationPredicateBucket tfilter = new RelationPredicateBucket();
                tfilter.Relations.Add(BerufsgruppeEntity.Relations.MeldenummmerEntityUsingBerufsgruppeNummer);
                tfilter.PredicateExpression.Add(MeldenummmerFields.Sichtbar == 1);
                using (DataAccessAdapter adapter = new DataAccessAdapter(cconnection.cCon))
                {
                    EntityCollection Berufsgruppen = new EntityCollection(new BerufsgruppeEntityFactory());
                    adapter.FetchEntityCollection(Berufsgruppen, tfilter, prefetchPath);
                    return Berufsgruppen;
                }

Thank's

Christof

MTrinder
User
Posts: 1461
Joined: 08-Oct-2008
# Posted on: 21-Jan-2010 21:19:25   

One of the overloads of prefetchPath.Add() accepts a predicate expression that is used to filter the related entities - it is here that you need to add your filter.

Matt

christof
User
Posts: 19
Joined: 08-Jun-2008
# Posted on: 22-Jan-2010 06:51:42   

No the field Sichtbar is a normal System.Int16 see screenshot. I use Firebird 2.1 as Database

Christof

Walaa avatar
Walaa
Support Team
Posts: 14993
Joined: 21-Aug-2005
# Posted on: 22-Jan-2010 08:17:28   
                PredicateExpression tfilter = new PredicateExpression(MeldenummmerFields.Sichtbar == 1);

                IPrefetchPath2 prefetchPath = new PrefetchPath2((int)EntityType.BerufsgruppeEntity);
                prefetchPath.Add(BerufsgruppeEntity.PrefetchPathMeldenummmer, 0, tfilter);

                using (DataAccessAdapter adapter = new DataAccessAdapter(cconnection.cCon))
                {
                    EntityCollection Berufsgruppen = new EntityCollection(new BerufsgruppeEntityFactory());
                    adapter.FetchEntityCollection(Berufsgruppen, null, prefetchPath);
                    return Berufsgruppen;
                }
christof
User
Posts: 19
Joined: 08-Jun-2008
# Posted on: 22-Jan-2010 08:21:46   

Thank You Walaa

Works perfect

Have a nice weekend Christof