Q:

Calcular edad con fecha de nacimiento MVC5

necesito calcular la edad de una persona a partir de su fecha de nacimiento, pero me esta haciendo mal el calculo, les doy un ejemplo.
Pepito nacio el 17-Diciembre-1997, en este momento pepito tiene 19 años, pero a mi en el calculo me muestra como si tuviera 20 años.
Mi código es el siguiente:
//FECHA NACIMIENTO EN LA BASE DE DATOS
[Display(Name = "Fecha Nacimiento")]
        [DataType(DataType.Date)]
        public DateTime fecha_nacimiento { get; set; }
//CALCULO DE LA EDAD
 [NotMapped]
 [Display(Name = "Edad")]
 public int edad { get { return DateTime.Now.Year - fecha_nacimiento.Year; } }

En mi base de datos la fecha se encuentra asi:

1997-12-17 00:00:00.000

A:

Se requiere realizar una validación para saber la edad actual, primero se obtiene la diferencia en años, luego se compara contra la fecha actual y si es menor significa que no hay cumplido años, entonces, se resta un año para obtener la edad al día de hoy:
DateTime fechaNacimiento = new DateTime(1997, 12, 15);

DateTime now = DateTime.Today;
int edad = DateTime.Today.Year - fechaNacimiento.Year;

if (DateTime.Today < fechaNacimiento.AddYears(edad))
    --edad;

Aquí puedes ver la Demostración
En tu caso, tu código quedaría así:
public int edad
{
    get
    {
        DateTime now = DateTime.Today;
        int edad = DateTime.Today.Year - fecha_nacimiento.Year;

        if (DateTime.Today < fecha_nacimiento.AddYears(edad))
            return --edad;
        else
            return edad;
    }
}

