Je n'ai aucune idée de ce que sont les mots-clés, voici un exemple de ce que je veux: Comment puis-je faire Ceci sans codage dur la traduction comme ça? Qu'en est-il des outils tels que MOWORAPPER ou ValueInjector, comment peut-il faire cela? P> aussi, quelle est cette technique appelée? P> p> userpo.getusers () code> retours Type IQuiseryable iquéryable
4 Réponses :
Comtableapper est l'outil que vous voulez; Il fonctionne par réflexion et à moins que vous ne le disiez autrement, il créera des propriétés avec le même nom directement. P>
La cartographie automatique est la technique. P>
Vous devez coder la traduction ou vous devez d'abord le convertir en maintenant, vous pouvez utiliser: p> en cas d'entité framework iEnumerable code>. IQueryable CODE> représente l'arborescence d'expression traduite à une exécution dans un fournisseur d'occasion - dans votre cas, je crois que ce sera un cadre d'entité. Vous ne pouvez utiliser aucun mappage automatique dans une telle requête car elle sera traduite en SQL qui ne comprendra pas vos méthodes .NET ou votre automapper. Les projections à des types personnalisées font partie de la requête et doivent être codées en papier. Vous pouvez créer une méthode d'extension personnalisée sur iquéryable code> et la réutiliser où vous avez besoin: SimpleUser code> ne doit pas être une entité mappée. P> p>
Le code "u => u nouveau SimpleSer" ne compile pas. Je pense que le second "u" doit être enlevé.
à condition que SimpleUser soit assignable à l'utilisateur (l'utilisateur est une interface de base de base de SimpleUser), vous pouvez
var users = simpleUsers.Cast<User>().AsQueryable();
Cette question a 9 ans, donc idk s'il existait alors mais pour que quiconque cherche maintenant, utiliser .Firstordefault () fonctionne si vous choisissez un seul utilisateur. P>