L'aide opérateur ternaire pour vérifier si la valeur est null null référence n'est pas la même que la valeur null

Je suis la tentative d'utilisation de l'opérateur ternaire pour vérifier si une valeur est nulle et de le retourner de l'expression ou de l'autre. Ce que je suis en train de vivre lorsque l'intégrer dans une expression LINQ est que l'instruction Transact-SQL traduction de l'expression LINQ tentative de faire une colonne "= null" plutôt que de "colonne EST NULL". J'ai des raisons de croire que c'est parce que je suis en train de faire les suivants:

mappedColumnName == (myVar == null ? null : myOtherVar)

Car il traduit la suite de columnName EST NULLE dans les instructions Transact-SQL:

mappedColumnName == null

Quelqu'un a une expérience avec cela? J'aimerais bien que pour obtenir que cela fonctionne.

L'ensemble de l'expression LINQ:

(from MenuItem in menuContext.Menus
   where MenuItem.IsSysAdmin == (ClientID == 1 ? true : false)
   && MenuItem.IsActive == true
   && MenuItem.ParentMenuCode == (ActiveSubMenu==null?null:ActiveMenu)
   && MenuItem.ClientID == (UseClientMenu ? ClientID : 0)
   && MenuItem.EmployeeID == (UseEmployeeMenu ? EmployeeID : 0)
   orderby MenuItem.SortOrder, MenuItem.MenuName
   select MenuItem);
  • Pouvez-vous s'il vous plaît partagez votre expression LINQ?
  • Bien sûr. Je l'ai ajouté à maintenant.
  • Vérifiez ceci: [stackoverflow.com/questions/5224339/... [1]: stackoverflow.com/questions/5224339/...
  • Vitalité: je ne suis pas sûr que ça va marcher. Je veux vérifier si ParentMenuCode est nulle seulement si ActiveSubMenu est nulle, si elle n'est pas nulle je veux vérifier si ParentMenuCode est égal à ActiveMenu.
InformationsquelleAutor Maritim | 2012-12-04