La mejor manera de obtener datos de la base de datos localizada

Creé la estructura de la tabla para hacer que los estados localizados en la base de datos:

Status {StatusId, Value} -- Value in this table is status value in default language StatusTranslation {StatusId, Language, TrasnlationValue} -- StatusId and Language are combined key 

Pero estoy teniendo problemas para hacer este trabajo en el marco de la entidad.
Cuando el idioma predeterminado es fácil, Status.ToList() pero cuando necesito traducción, paso al método de-CH obtención de-CH pero no puedo devolver el estado traducido.
¿Cuál es la mejor manera de mapear esto usando el marco de la entidad?
Pensé que algunos de mis métodos funcionan para esta situación, pero al final encuentro que no lo son.
Esto es objetos en código:

 public class Status { public int StatusId{ get; set; } public string Value{ get; set; } public virtual ICollection StatusTranslations { get; set; } } public class StatusTranslation { public int StatusId{ get; set; } public string Language{ get; set; } public string TrasnlationValue{ get; set; } public virtual Status Status { get; set; } } 

ACTUALIZAR

 var statuses = from c in context.Statuses join t in context.StatusTranslations on c.StatusId equals t.StatusId where t.Language == language var statuses = from t in context.StatusTranslations where t.Language == language select t.Status; 

Ambas me devuelven Estado en forma predeterminada (idioma predeterminado)
El parámetro de retorno debe ser IEnumerable aunque esto no es posible.

Entonces, ¿puedo devolver un IEnumerable IEnumerable o IEnumerable pero entonces esto no puede ser una función o hay una esperanza?

    Intereting Posts