getting an EntityField "by name"??

Posts   
 
    
trevorg
User
Posts: 104
Joined: 15-Nov-2007
# Posted on: 18-Mar-2010 22:28:23   

In some situations, instead of this:

dim filter as new PredicateExpression(MetricScorecardFields.ScorecardCode = "someValue")

I'd like to be able to do this:

dim theEntityField as New EntityField("MetricScorecard","ScorecardCode")
dim filter as new PredicateExpression(theEntityField = "someValue")

Can it be done?

daelmo avatar
daelmo
Support Team
Posts: 8245
Joined: 28-Nov-2005
# Posted on: 19-Mar-2010 04:51:53   

Yes, this is how:

static IEntityField2 GetFieldFromStrings(string myEntityName, string myFieldName)
{           
    EntityType myEntityType = (EntityType) Enum.Parse(typeof(EntityType), myEntityName + "Entity");
    IEntityField2 theField = EntityFieldsFactory.CreateEntityFieldsObject(myEntityType)[myFieldName];
    return theField;
}

Usage:

EntityField2 theField = (EntityField2) GetFieldFromStrings("Customers", "Country");

IRelationPredicateBucket filter = new RelationPredicateBucket();
filter.PredicateExpression.Add(theField == "Guatemala");
...
David Elizondo | LLBLGen Support Team
trevorg
User
Posts: 104
Joined: 15-Nov-2007
# Posted on: 19-Mar-2010 18:38:35   

Excellent.