ho bisogno di scrivere una funzione chiamata IsExists(string TableName,string KeyColumnName,string ValueToCheck)
in DAL che verifica se esiste i dati nella tabella particolare e nella colonna particolare che sto passandodinamico Linq SearchFor da enti passando Nometabella, ColumnName e valore come parametro
fondamentalmente voglio ottenere qualcosa di simile quando provo a mettere in su nella query SQL
select count(id) from "+TableName+" where "+keyColumnName+"="+ValueToCheck+";
Ma io cant utilizzare query SQL ..
nella mia soluzione ho un file con estensione edmx, una classe di entità insieme a un repository classe, che ha SearchFor
metodo:
public class EntityRepository<C, TEntity> : IEntityRepository<TEntity>
where TEntity : class
where C : DbContext
{
public IQueryable<TEntity> SearchFor(System.Linq.Expressions.Expression<Func<TEntity, bool>> predicate)
{
return _entities.Set<TEntity>().Where(predicate);
}
}
ho provato qualcosa di simile
public bool CheckIsExists<T>(string keyColumnName, string valueToCheck) where T : class
{
bool isExist = false;
using (var repository = ContextFactory.CreateEmployeeMasterRepository())
{
var repo = repository.GetEntityRepository<T>();
object obj = (T)Activator.CreateInstance(type);
repo.SearchFor(u => u.GetType().GetProperty(keyColumnName).GetValue(obj).ToString() == valueToCheck);
}
return isExist;
}
Che non è di nuovo al lavoro ..
Qualcuno mi aiuti a fare questo. ho provato da molto tempo .. i suggerimenti sono molto apprezzati.
Si dovrebbe controllare la mia domanda su LINQ dinamica: http://stackoverflow.com/questions/29234484/linq-dynamic-where-with-generic-property-and-value – W0lfw00ds
1) Sembra come se hai un framework qui oltre a entityframework, ti suggerisco di farlo funzionare prima con tipi/oggetti conosciuti prima di passare a generici. 2) Simula questo senza un database prima in un piccolo progetto di console – eugenekgn