je l'ENUM et la classechaîne Parse Poco classe ENUM dans la requête LINQ MVC 2.0
public enum Gender
{
Male,
Female,
Unknown
}
public class Person
{
public int PersonId { get; set; }
public string LastName { get; set; }
public string FirstName { get; set; }
public Gender? Gender { get; set; }
}
POCO
suivant, je voudrais effectuer une requête « obtenir toutes les personnes » dans mon référentiel tel qu'il ressemblerait à quelque chose comme ceci:
return from p in _db.People
select new Model.Person
{
PersonId = p.PersonId,
LastName = p.LastName,
FirstName = p.FirstName,
Gender = p.Gender,
};
Malheureusement je reçois une erreur « Impossible de convertir implicitement le type « string » à « Model.Gender » »
je voudrais convertir la chaîne qui est en cours interrogé à partir du cadre d'entité à mon énumération de sexe et l'assigner à ma classe POCO.
Hey ça aide beaucoup. C'est dommage qu'il pollue le POCO mais cela devra faire pour le moment. Je n'avais pas beaucoup de chance avec la fausse solution ENUM à cause du modèle d'inversion de dépendance que j'utilise. Je suis désolé, je ne peux pas voter, vous répondez car je n'ai pas assez de rep. Merci beaucoup. – eNc
Aucun problème, veuillez cocher l'une des réponses comme correcte (celui qui a résolu votre problème). Aussi, si vous ne voulez pas "polluer le POCO", vous pouvez le mettre dans une classe partielle, ou vous pouvez créer une méthode d'extension. Pourtant, rien de mal à avoir la propriété là-bas (je fais). Vous ne voulez pas que votre modèle de domaine devienne anémique. – RPM1984