Domanda

HI Ho una tabella con alcuni valori (ID), e ovviamente quando ottengo il risultato ho solo gli ID int, ma voglio metterlo più facile da usare, ad esempio quando è il numero 1, io voglio mettere la stringa "Disponibile", quando i suoi 2 "Non disponibili" sono in un ambiente di livello N e devo farlo sul Modello, qual è il modo migliore per farlo, devo dichiarare un'altra classe per proiettare le stringhe o devo usare qualcosa come un dizionario, Key - > Valore.

ora ho questo

return from t in db.products where t.productID==productID select t;
È stato utile?

Soluzione

Se si utilizza Linq to SQL è necessaria un'altra tabella per contenere lo stato del prodotto:

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

Aggiungi un campo alla tua tabella prodotti:

Field to Add:  ProductStatusID    int

Aggiungi alcuni stati alla tua nuova tabella e imposta ProductStatusID di ciascun prodotto su un ID di stato appropriato.

Aggiungi un vincolo che collega insieme i due campi ProductStatusID. Il modo più semplice per farlo è creare un diagramma in SQL Server Management Studio Express, trascinare entrambe le tabelle sul diagramma, quindi trascinare il campo ProductStatusID dalla tabella ProductStatus alla tabella Products e fare clic su OK nella finestra di dialogo che si apre.

Ricostruisci le tue classi di dati Linq to SQL. Puoi farlo cancellando e ricreando il file DBML e trascinando nuovamente le tue tabelle nel designer.

Quando ottieni un oggetto products (p) dal tuo oggetto dataContext, ora dovresti vedere questo:

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

Linq to SQL raggiungerà la tabella ProductStatus e cercherà la descrizione dello stato appropriata.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top