J'ai une entité dont j'ai besoin pour renvoyer uniquement des enregistrements où une valeur de champ donnée est supérieure à zéro. J'ai vu des exemples de cartographie conditionnelle dans l'edmx et cela semble être ce dont j'ai besoin. Cependant, mon projet est en code EF 4.1 en premier. N'y a-t-il pas moyen de faire cela en utilisant le code d'abord?Entity Framework mise en correspondance conditionnelle avec le code d'abord?
0
A
Répondre
5
Je ne pense pas qu'il existe une méthode intégrée pour y parvenir, vous pouvez toutefois exposer une propriété dans votre DbContext dans lequel vous appliquez le filtrage, initialement ce sera en lecture seule mais je ne vois pas pourquoi vous ne devriez pas créer votre propre implémentation DbSet renvoyant à un autre DbSet (ProxyDbSet)
exemple Readonly:
class MyDbContext : DbContext
{
public IDbSet<User> Users { get; set; }
public IQueryable<User> Admins
{
get
{
return from user in users
where user.Role == "admin"
select user;
}
}
}
Questions connexes
- 1. Besoin d'aide avec une jointure SQL: mise en correspondance conditionnelle?
- 2. Filtre avec plusieurs classes dérivées avec le code-Entity Framework
- 3. Code First Entity Framework
- 4. Entity Framework Code Première erreur avec le projet de test
- 5. SQL Server Compact 4.0 avec Entity Framework Comparaison Chaîne conditionnelle
- 6. Relations multiples avec des tables de correspondance dans Entity Framework
- 7. Entity Framework Mise à jour?
- 8. EntityDataSource avec Code-First Entity Framework 4.1
- 9. Entity Framework mise en cache sous ASP.Net
- 10. WCF avec Entity Framework Code Premier
- 11. Mise en forme conditionnelle code Crashing programme
- 12. Entity Framework Insérer dans le code
- 13. MVC3 - Erreur mise en place du contrôleur avec Entity Framework
- 14. Étrange mise à jour d'entité dans Entity Framework Code-First
- 15. Entity Framework code d'abord: mise à jour SetInitializer throws exception
- 16. Rétrograder ou annuler les modifications avec le code Entity Framework
- 17. Déployer Entity Framework Code Premier
- 18. Entity Framework - problème étrange avec plusieurs clés étrangères mises en correspondance avec la même table
- 19. Entity Framework Code Première classe
- 20. Code Entity Framework malheurs premier
- 21. problème avec MySQL tinyint et le code Entity Framework premier
- 22. Python regex - correspondance conditionnelle?
- 23. Entity Framework 6 Code First Concurrency
- 24. Entity Framework, code uniquement & EntityDataSource
- 25. requête simple LINQ conditionnelle dans Entity Framework 4
- 26. code premier mappage pour Entity Framework Hiérarchie
- 27. Entity Framework 4.1 (premier code) colonne audit
- 28. GetUTCDate avec Entity Framework
- 29. Comment travailler avec plusieurs niveaux d'abstraction avec Entity Framework et le code en premier?
- 30. Entity Framework Erreur de mise à jour
Merci @Polity. Si je comprends bien, ceci se traduirait par EF renvoyant mon ensemble complet d'enregistrements et puis assignant l'ensemble filtré linq à, dans votre exemple, la propriété Admins IQoyerable. J'espérais ne pas le faire car l'ensemble serait assez grand. Cependant, d'après ce que je peux dire, c'est peut-être la meilleure solution. Merci beaucoup pour la réponse rapide! – RockyMountainHigh
@RockyMountainHigh - Non, il ne sera pas réellement, Notez que DbSet implémente IQueryable ainsi que la méthode elle-même retournant IQueryable. Cela signifie que l'administrateur appelant ne renverra rien d'autre qu'une définition de requête. Dès que vous commencez à faire un foreach sur le résultat des Admins, une requête SQL sera générée incluant un filtre where sur le rôle des utilisateurs. Par conséquent, ceci est tout aussi efficace que le mappage conditionnel – Polity
Parfait! Je vous remercie! Apprenez quelque chose de nouveau aujourd'hui? Vérifier! – RockyMountainHigh