Mam następującą metodę:
public DataTable.DataTablesPage<DataTable.UserModel> DataTableUserListByAttendees(int geoArea, int CurrentUserID)
{
var result = from i in _dbContext.Users
where i.GeographicalAreas.Any(p => p.GeoAreaID == geoArea)
select new DataTable.UserModel()
{
ID = i.ID,
Company = i.Company,
DCMember = (i.UserId != null),
FirstName = i.FirstName,
LastName = i.LastName
};
}
Działa dobrze, ale zwraca jednostki, które nie mają ustawionej właściwości geoArea.
public DataTable.DataTablesPage<DataTable.UserModel> DataTableUserListByAttendees(int? geoArea, int CurrentUserID)
{
var result = from i in _dbContext.Users
where i.GeographicalAreas.Any(p => p.GeoAreaID == geoArea)
select new DataTable.UserModel()
{
ID = i.ID,
Company = i.Company,
DCMember = (i.UserId != null),
FirstName = i.FirstName,
LastName = i.LastName
};
}
Jak mogę zmienić zapytanie, aby zwracało tylko jednostki, które mają ustawioną właściwość geoArea (czyli nie jest null).
1
John
2 marzec 2012, 16:55
2 odpowiedzi
Najlepsza odpowiedź
where (geoArea == null) || i.GeographicalAreas.Any(p => p.GeoAreaID == geoArea)
Lub warunkowo dodaj gdzie do zapytania
4
Kris Ivanov
2 marzec 2012, 16:58
To powinno być
where geoArea == null || i.GeographicalAreas.Any(p => p.GeoAreaID == (int)geoArea)
3
edeboursetty
2 marzec 2012, 16:58
Podobne pytania
Nowe pytania
c#
C # (wymawiane „patrz ostro”) jest językiem programowania wysokiego poziomu, statycznie typowanym, wieloparadygmatowym opracowanym przez firmę Microsoft. Kod C # zwykle jest przeznaczony dla rodziny narzędzi Microsoft .NET i czasów wykonywania, do których należą między innymi .NET Framework, .NET Core i Xamarin. Użyj tego tagu w przypadku pytań dotyczących kodu napisanego w C # lub C # formalnej specyfikacji.