Ich habe eine Tabelle, die Mitarbeiter Datensätze wie ersten, mittleren, Nachnamen enthält. Ich habe 3 Textfelder, um all diese einzugeben. Jetzt auf .net-Seite Ich möchte eine einzelne LINQ-Abfrage zum Filtern von Daten basierend auf first name middle name and last name
schreiben. Jedes dieser 3 Felder kann leer sein. Ist das eine Möglichkeit, eine einzelne generische LINQ-Abfrage zu schreiben?Wie schreibe ich eine generische LINQ-Abfrage für die Filterung von Daten basierend auf Vorname zweiter Vorname und Nachname
Antwort
Sie können eine Linq-Abfrage mit oder Bedingung schreiben wie unten
_context.tablename.where (p => p.firstName.contains (txtFirstName) || p.middleName.contains (txtMiddleName) || p.lastName.contains (txtLastName)). ToList();
ändern tablename
mit Ihnen Datenbanktabelle in über Linq-Abfrage
public IList<Employee> GetEmployees(string first, string middle, string last)
{
var query = context.Employees.AsQueryable();
if (!string.IsNullOrWhiteSpace(first))
{
query = query.Where(x => x.FirstName == first);
}
if (!string.IsNullOrWhiteSpace(middle))
{
query = query.Where(x => x.MiddleName == middle);
}
if (!string.IsNullOrWhiteSpace(last))
{
query = query.Where(x => x.LastName == last);
}
return query.Select(x =>
new Employee
{
FullName = string.Join(" ", new string[] { x.FirstName, x.MiddleName, x.LastName}.Where(y => !string.IsNullOrWhiteSpace(y)))
})
.ToList();
}
wenn Iterieren überprüfen nur, wenn die Kriterien in Gebrauchswert hat etwas
var criteria = new
{
FirstName = default(string),
MiddleName = default(string),
LastName = "Doe",
};
var query = from record in Context()
where !string.IsNullOrEmpty(criteria.FirstName)
&& record.FirstName == criteria.FirstName
|| !string.IsNullOrEmpty(criteria.MiddleName)
&& record.MiddleName == criteria.MiddleName
|| !string.IsNullOrEmpty(criteria.LastName)
&& record.LastName == criteria.LastName
select record;
Versuchen Sie, wie das;
public List<Employee> RetrieveEmployees(string firstName, string lastName, string middleName)
{
var query = from employees in context.Employees
where (string.IsNullOrEmpty(firstName) || employees.FirstName == firstName) &&
(string.IsNullOrEmpty(lastName) || employees.LastName == lastName) &&
(string.IsNullOrEmpty(middleName) || employees.MiddleName == middleName)
select employees;
return query.ToList();
}
Nicht ganz richtig: '' && geht vor '' || –
Es geht nicht um Verständnis geht es um Bewertung Auftrag. In C# '&&' wird vor '||' ausgewertet, und SQL macht dasselbe: 'AND' wird vor' OR' ausgewertet. Du hast grundsätzlich C1 OR (C2 UND C3) ODER (C4 UND C5) ODER C6 geschrieben (und diese Klammern sind wirklich nur zum Verstehen da) –
Nicht mehr, weil du es repariert hast, ich wollte nur erklären, warum es repariert werden musste. Ich hoffe, Sie verstehen! –
- 1. LEN (Vorname) + LEN (Nachname) ist nicht gleich LEN (Vorname + Nachname)
- 2. Split char-Array als Vorname, zweiter Vorname und Nachname, überspringen zweiter Vorname, wenn seine leer in der Sprache C
- 3. Bluesnap Kartenhalter Vorname und Nachname
- 4. "Nachname, Vorname" -> "Vorname Nachname" in serialisierten Strings
- 5. Vorname Nachname Validierung asp.NET
- 6. Javascript Vorname Nachname Validierungsfehler
- 7. Ändern von Nachname, Vorname zu Nachname, FirstInitial
- 8. Suche nach Vorname und Nachname auf Excel
- 9. MYSQL Abfrage nach doppelten Datensätzen basierend auf Vorname und Nachname
- 10. preg_match Vorname/Nachname übereinstimmende Gruppen
- 11. Ich habe eine NSString wie folgt: "Vorname Nachname". Wie konvertiere ich es in "Vorname L."?
- 12. Laravel zupfen, aber die Kombination von Vorname + Nachname für ausgewählte
- 13. Separate Nachname und Vorname mit Openoffice Formel
- 14. Suche Nachname und Vorname in AD
- 15. Erfordern Vorname und Nachname in Django Benutzermodell
- 16. Sortieren nach Vorname alphabetisch und nach Nachname
- 17. Keycloak Entfernen von Vorname und Nachname auf dem Registrierungsbildschirm
- 18. Django Queryset für concat Abfrage fullname von Vorname und Nachname
- 19. Wordpress Alpha Reihenfolge nach Nachname, Vorname
- 20. Suche nach Vorname oder Nachname in Spalte formatiert als „Vorname Nachname“
- 21. Knockout: Vorname - Nachname Joiner funktioniert nicht
- 22. Separate Vorname und Nachname von Fullname String in C#
- 23. Javascript Array Sortieren nach Nachname, Vorname
- 24. Regulärer Ausdruck für Vorname
- 25. Android O AutoFill-Funktion für Vorname, Nachname und Geburtstag
- 26. Merge Vorname mit Nachname mit Applescript
- 27. einschließlich Benutzer Vorname und Nachname auf Auth0 Registrieren
- 28. Wie bekomme ich Vorname, zweiter Vorname und Nachname als Benutzername mit einem Punkt zwischen den Namen und einer Nummer am Ende für einen eindeutigen Benutzernamen?
- 29. Anzeige (Nachname, Vorname) in der DataGridView
- 30. Unterschiedliche Textgröße (zB Nachname, Vorname/Vorname) für Button im Responsive Design Bootstrap mit Jquery
Prüfung Kern für voll Beispiel https://gist.github.com/dandohotaru/d0598c7dd9599cc4e173b478d7e4cf82 Arbeits –