Articles of linq

Message d’erreur “Opérateur”. ne peut pas être appliqué à l’opérande de type ‘expression lambda’ ”lors de la conversion d’une méthode en méthode d’extension?

J’ai une méthode que je veux convertir en méthode d’extension public static ssortingng GetMemberName(Expression<Func> item) { return ((MemberExpression)item.Body).Member.Name; } et l’appelant comme ssortingng str = myclass.GetMemberName(() => new Foo().Bar); il est donc évalué à str = “Bar”; // It gives the Member name and not its value str = “Bar”; // It gives the Member […]

Question syndicale C # linq

Quelqu’un pourrait-il expliquer comment fonctionne Union dans LINQ? On dit qu’il fusionne deux séquences et supprime les doublons. Mais puis-je en quelque sorte personnaliser le comportement de suppression des doublons – disons si je souhaite utiliser l’élément de the second sequence en cas de duplication ou de the first sequence . Ou même si je […]

Obtenez Max et Min en une seule requête LINQ

J’ai un ensemble d’objects avec deux propriétés, A et B. J’aimerais obtenir le Min de A et le Max de B. par exemple var minA = objects.Min(o => oA); var maxB = objects.Max(o => oB); À l’aide de la syntaxe de requête LINQ, existe-t-il un moyen de le faire pour qu’il ne passe qu’une seule […]

Erreur: une arborescence d’expression ne peut pas contenir d’opération dynamic

J’utilise Asp.Net 4 et C #, j’utilise EF 4. J’ai cette requête, je reçois une erreur: An expression tree may not contain a dynamic operation dynamic o = e.Item.DataItem; var imagesContent = context.CmsImagesContents.FirstOrDefault(img => img.ContentId == o.ContentId); Il semble impossible de lancer un type dynamic à l’aide d’une expression Lamba. Comment je peux résoudre le […]

Question de l’Union sur la liste générique C #

J’essaie de fusionner 2 listes en utilisant “Union” afin que je me débarrasse des doublons. Voici l’exemple de code: public class SomeDetail { public ssortingng SomeValue1 { get; set; } public ssortingng SomeValue2 { get; set; } public ssortingng SomeDate { get; set; } } public class SomeDetailComparer : IEqualityComparer { bool IEqualityComparer.Equals(SomeDetail x, SomeDetail […]

La requête LINQ est lente

Lors du profilage de l’application, j’ai constaté que la vérification de la correspondance de modèle est très lente. Il est écrit en utilisant LINQ. Le simple remplacement de cette expression LINQ par une boucle fait toute la différence. Qu’Est-ce que c’est? Est-ce que LINQ est vraiment une si mauvaise chose et fonctionne si lentement ou […]

La méthode ‘Ignorer’ n’est prise en charge que pour l’entrée sortingée dans LINQ to Entities. La méthode ‘OrderBy’ doit être appelée avant la méthode ‘Skip’

Utilisation d’ Entity Framework 6.0.2 et de .NET 4.5.1 dans Visual Studio 2013 Update 1 avec un DbContext connecté à SQL Server: J’ai une longue chaîne de filtres à appliquer à une requête en fonction des résultats souhaités par l’appelant. Tout allait bien jusqu’à ce que j’ai besoin d’append de la pagination. Voici un aperçu: […]

EF SQL modifié lors de la transmission du prédicat en tant que paramètre à la clause Where

EF génère différentes instructions SQL pour les deux instructions similaires répertoriées ci-dessous. var test = dbcontext.Persons.GetAll() .Where(c => c.PersonID == 2) .Select(c => c.PersonName) .FirstOrDefault();` SQL généré: SELECT [Limit1].[PersonName ] AS [PersonName ] FROM (SELECT TOP (1) [Extent1].[PersonName ] AS [PersonName ] FROM [dbo].[ApplicationRequest] AS [Extent1] WHERE [Extent1].[PersonID ] = @p__linq__0) AS [Limit1]’,N’@p__linq__0 uniqueidentifier’,@p__linq__0= “2” […]

LINQ to SQL – Pourquoi ne pouvez-vous pas utiliser WHERE après un ORDER BY?

Le code suivant: // select all orders var orders = from o in FoodOrders where o.STATUS = 1 order by o.ORDER_DATE descending select o; // if customer id is specified, only select orders from specific customer if (customerID!=null) { orders = orders.Where(o => customerID.Equals(o.CUSTOMER_ID)); } me donne l’erreur suivante: Impossible de convertir implicitement le type […]

Instruction Linq pour une suite infinie de moitiés successives

Étant donné un numéro de départ, imaginez une séquence infinie de ses moitiés successives. 1, 0.5, 0.25, 0.125, … (Ignorez les instabilités numériques inhérentes à double .) Cela peut-il être fait en une seule expression sans écrire de méthodes d’extension personnalisées ou de méthodes générasortingces?