Trabajando con cuatro tablas.Pedido de LinqPor rupturas con propiedad de navegación nula
Usuarios -> tiene información de usuario sencillo y de un identificador de usuario y una DepartmentID (int)
Grupos -> Información de grupo básico que incluye un GroupId
GroupsMembers -> tabla que tiene la relación entre un grupo y sus miembros, muchos de muchos relación, por lo groupid y ID de usuario son las columnas
departamentos -> información básica, incluyendo el departamento deptid
tengo una FK de la DepartmentID en la tabla de usuarios al ID deparmtnet en la tabla de departamentos.
FK grupos de GID al groupsmembers GROUPID FK de los usuarios identificador de usuario ID de usuario a groupsmembers
Esto permite que los grupos de la edmx que tienen una propiedad de los usuarios de navegación que tendrá todos los miembros del grupo.
var grp = grpSource.FirstOrDefault(g => g.GroupID == groupID)
if (grp.GroupID > 0)
{
var userQuery = from u in grp.Users
where !u.Deleted
select u;
userQuery = userQuery.OrderBy(u => u.Department.Name);
}
Estoy incluyendo Users.Department.
El problema se debe a que los usuarios no necesitan tener un departamento, por lo que la columna del departamento es anulable. Si hay algún usuario para el cual el departamentoid es nulo, el pedido se rompe y dice que el departamento es nulo. Si no hay ningún departamentoid nulo, funciona bien. Necesito una forma de ordenar basada en Department.Name, incluso si hay departmentids nulos. ¿Alguna sugerencia?
perfecto. Estaba llegando a eso solo, creo, pero no estaba seguro de si la comparación se haría de manera récord :-) – Steph