Generische Find() mit Umfasst Entity Framework

Momentan habe ich eine komplette generisches repository, aber mir fehlt ein feature und das ist, zu verwenden
Include() und Find() zusammen.

So, jetzt habe ich:

public E FindById<E>(int id) where E : class
{
    return DataContext.Set<E>().Find(id);
}

nannte, mit

var person = PersonRepo.FindById<Person>(personId);

Ich würde gerne etwas ähnliches:

var person = PersonRepo.FindByIdWithIncludes<Person>(personId,new[]{"State.Address"});

So, etwas entlang dieser Linien (dies ist nur ein test):

public E FindByIdWithIncludes<E>(int id, string[] includes) where E : class
{
    var entitySet = DataContext.Set<E>();
    DbQuery<E> entityQuery;

    foreach (var include in includes)
    {
        entityQuery = entitySet.Include(include);
    }

    return entityQuery.Find(id); //this is were it breaks
}

Ist es möglich?

InformationsquelleAutor Matija Grcic | 2012-07-25
Schreibe einen Kommentar