Qui ORM dois-je utiliser pour .Net en 2016 pour parler de SQL server?
La plupart de mon côté serveur de l'expérience est avec nodeJS météore ou de rails, donc je n'ai pas de richesse .Net de connaissances encore. Dans les rails de son assez facile de s'en prendre à l'ORM, car ActiveRecord est le seul jeu en ville ou à ce qu'il semble. Mon approche est généralement de requête de tout ce que vous pouvez à l'aide de la moraine d'oak ridges et si vous ne pouvez pas le retirer, puis descendre à raw SQL.
Cependant je suis en train de lire des tutoriels et leçons sur l'interrogation de bases de données .Net 4.5 ou ultérieur apps et je suis confus sur ce que la voie de l'avenir. Je vois des tutoriels dans la suite de
- Linq Lambda syntaxe
- Requête Linq syntaxe
- Entity Framework
Qu'est-ce que la suggestion de l'ORM pour moderne .net applications? Il me semble que je peux faire de base des opérations CRUD dans tous les ci-dessus. Mais un des mieux adaptés pour dire des jointures entre les tables? Rappelez-vous, j'seul plan de requête par rapport à Microsoft SQL server bases de données pour mon .net solutions.
ce vraiment confus moi est la lecture que EF remplacé linq mais ensuite la lecture que EF utilise également linq. Alors quand je vois un exemple pour dire sélectionner toutes les colonnes, je ne sais pas si je suis en utilisant une syntaxe de le passé ou l'avenir. Aussi, simplement en regardant le code, je ne peux pas dire si son linq ou EF. Je ne peux dire si sa requête ou lambda syntaxe.
Non, ActiveRecord n'est pas le seul jeu dans la ville, à moins que vous ne travaillez qu'à faible trafic des applications qui ne traitent que de quelques lignes à la fois. Pourquoi travailler avec seulement enregistrer à un moment où vous pouvez charger tous les objets que vous voulez et de les lier à eux? C'est pourquoi les Micro-Orm sont préférables pour un beaucoup de scénarios. Orm sont pas pour les opérations CRUD. Si vous n'avez pas les entités ayant des comportements personnalisés, vous n'avez pas besoin de la
O
partiestackoverflow.com/questions/5101974/net-orm-comparison
Vous devez utiliser F# et ceci: fsprojects.github.io/SQLProvider
OriginalL'auteur ngnewb | 2016-05-12
Vous devez vous connecter pour publier un commentaire.
Les options que vous avez mentionnés ne sont pas tous les Orm, dans ce 3 la seule ORM est EF. il y a d'autres populaires Orm .net, notamment:
La plupart d'entre eux l'appui de LINQ. EntityFramework est le plus jeune mais c'est l'intégration avec VS et être disponible hors de la boîte, il est le plus populaire de l'ORM .net et remplacé LINQ to entities pas LINQ lui-même.
LINQ (Language-Integrated Query) tel que défini dans msdn peut être utilisé avec différentes sources de données.
Il y a deux syntaxes différentes pour utiliser LINQ surtout connu aussi à l'aise sur la syntaxe et la syntaxe de la Requête.
Si votre nouveau .net comme vous l'avez mentionné, je suggère d'utiliser EF parle couramment syntaxe qu'il serait le moyen le plus rapide pour commencer à interroger la base de données .net.
Vous pouvez trouver une bonne discussion à ce sujet here
puis-je mélanger syntaxs de modèles différents ou le même modèle ou est-ce une mauvaise idée?
Oui, vous pouvez mélanger et assortir comme vous le désirez. Le fluide/lambda/méthode de syntaxe ne disparaitra jamais car en fin de compte, c'est comment la syntaxe de la requête fonctionne en arrière-plan. La syntaxe de la requête est juste syntaxique de sucre sur le dessus de la courant/lamda, de méthode, de syntaxe, et finalement convertie avant la compilation.
OriginalL'auteur VahidNaderi
La réponse courte est d'Entity Framework.
Je pense que ce qui est source de confusion que vous pouvez utiliser Linq Lambda et Linq la syntaxe de la Requête avec Entity Framework. Mais l'avenir (à mon avis) est Couramment de l'API.
J'ai été en utilisant Entity Framework 7 (pre-release) et j'ai l'impression qu'il est axé sur l'API Fluent. Ce qui est bien avec moi parce que j'aime beaucoup mieux que la syntaxe Linq.
mais pour l'instant, entity framework 6 est la norme? donc si je veux rejoindre sur 3 tables , ce serait une bonne réponse stackoverflow.com/questions/21051612/...
aussi est-il un moyen de savoir que je suis en train de regarder entity framework code lors de la recherche à un modèle ou une requête? J'essaie de ne regarder DONC les posts de 3 ans ou plus récent pour assumer ses au moins .net 4.5 ou ultérieur
Je ne pense pas que c'est vraiment important parce que la syntaxe est la même. Mais je voudrais choisir un type de syntaxe et de rester avec elle.
Tout comme l'OP, vous êtes à comparer des pommes et des oranges. "API Fluent" est surtout utilisé pour indiquer la cartographie de l'API. Lorsque l'on parle de LINQ, il est couramment syntaxe (ou méthode de la syntaxe) ce qui signifie que l'appel de la
Queryable
les méthodes d'extension, ou il y a la syntaxe de la requête (ou complète de la syntaxe) – ce qui signifie une syntaxe de type SQL pour construire des requêtes LINQ dans le code. les Deux sont syntaxe LINQ, et il n'a vraiment pas de sens pour dogmatiquement préférer l'une au dessus de l'autre. Utilisez celui qui produit le meilleur code lisible pour la tâche en cours.OriginalL'auteur Clint B
Essayer Vega https://github.com/aadreja/vega il est simple à utiliser et l'un des plus rapides .net ORM avec beaucoup de fonctionnalités intéressantes.
Voici les étapes pour commencer:-
1) Créer une classe d'Entité dérivée de Vega.EntityBase
Exemple: -
2) Effectuer des opérations CRUD
Insérez - il suffit de créer une Entité & définir des propriétés pour l'Insertion. Créer un objet de connexion, le passer à Référentiel & appel d'Ajouter une méthode qui renvoie l'Id de créer de nouveaux record
De mise à jour Pour mettre à jour l'enregistrement utiliser la méthode de mise à Jour du référentiel de
Lire la Liste de lecture de tous les enregistrements avec les critères spécifiés & convertit en objet énumérable qui peuvent être convertis à la Liste.
Référer à la documentation à https://github.com/aadreja/vega/wiki/Repository
OriginalL'auteur aadreja