积极答复者
Calcular si Una persona Es mayor de Edad con Linq C#

问题
-
hola
soy novato con linq y deseo realizar el siguiente método en la clase persona de Mi regla de negocio
public int CalcularEdad(DateTime birthDate, DateTime now) { int age = now.Year - birthDate.Year; if (now.Month < birthDate.Month || (now.Month == birthDate.Month && now.Day < birthDate.Day)) age--; return age; }
aca esta algo de codigo que trate de realizar
public int EsMayorEdad(Persona entity) { DateTime fechaHoy = DateTime.Today; try { using (context) { var e = context.PersonaSet.Where(p => p.FechaNacimiento < fechaHoy). Select fechahoy ; //<---debo seleccionar la entidad Persona y compara y restar fechas para averiguar la edad y determinar si es mayo de 18 años } } catch (Exception) { throw; } return entity; }
Gracias por la ayuda
答案
-
hola
pero no necesitas linq para saber si es mayor de edad, si tienes el metodo CalcularEdad() porque no lo usas
public bool EsMayorEdad(Persona entity) { int edad = CalcularEdad(entity.FechaNacimiento, DateTime.Today); return edad > 18; }
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- 已标记为答案 greg_dorian2 2016年7月21日 20:21
全部回复
-
Hola greg_dorian2
prueba así:
public int EsMayorEdad(Persona entity) { DateTime fechaHoy = DateTime.Today; try { using(context) { var e = (from a in context.Persona select a.FechaNacimiento); } } int edad = DateTime.Now.Year - e.Value.Year; if (edad >= 18) { //Es mayor de edad } Retorna la edad return edad; }
Saludos
Javier
-
hola
pero no necesitas linq para saber si es mayor de edad, si tienes el metodo CalcularEdad() porque no lo usas
public bool EsMayorEdad(Persona entity) { int edad = CalcularEdad(entity.FechaNacimiento, DateTime.Today); return edad > 18; }
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- 已标记为答案 greg_dorian2 2016年7月21日 20:21