Question

HI, j’ai une table avec quelques valeurs (ID), et bien sûr, quand j’obtiens le résultat, j’ai juste obtenu les ID int, mais je veux le mettre plus convivial, par exemple lorsque c’est le numéro 1, i veux mettre la chaîne "Disponible", lorsque ses 2 "Pas disponible", sont dans un environnement N tiers et que je dois le faire sur le modèle. Quel est le meilleur moyen d'y parvenir, je dois déclarer une autre classe pour projeter les chaînes, ou dois-je utiliser quelque chose comme un dictionnaire, Key - > Valeur.

maintenant je viens de ce

return from t in db.products where t.productID==productID select t;
Était-ce utile?

La solution

Si vous utilisez Linq to SQL, vous avez besoin d'une autre table contenant le statut du produit:

Table Name: Product Status
Fields:     ProductStatusID   int Indentity Primary Key
            ProductStatus     nvarchar(50)

Ajouter un champ à votre table de produits:

Field to Add:  ProductStatusID    int

Ajoutez des statuts à votre nouvelle table et définissez le ProductStatusID de chaque produit sur un identifiant de statut approprié.

Ajoutez une contrainte qui relie les deux champs ProductStatusID. Pour ce faire, le plus simple consiste à créer un diagramme dans SQL Server Management Studio Express, à faire glisser les deux tables sur le diagramme, puis à faire glisser le champ ProductStatusID de la table ProductStatus vers la table Produits, puis à cliquer sur OK dans la boîte de dialogue qui s'ouvre.

Reconstruisez vos classes de données Linq to SQL. Pour ce faire, vous devez supprimer et recréer le fichier DBML, puis faire de nouveau glisser vos tables dans le concepteur.

Lorsque vous obtenez un objet products (p) à partir de votre objet dataContext, vous devriez maintenant voir ceci:

p.ProductStatus   <-- The text description of the product's status.

Linq to SQL ira dans votre table ProductStatus et recherchera la description d'état appropriée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top