1 messaggio dal 26 ottobre 2020
Buongiorno,
sto cercando di aggiungere una classe parziale per estendere la logica al mio modello edmx (uso dbfirst e c#)

Non riesco a capire qual è l'approccio corretto:
Se metto l'edmx nella directory delle mie classi, quando rigenero l'edmx vengono cancellate le classi (perché creado siano già in .tt)
Se metto l'edmx in una cartella, poi nella logica devo mettere un using come riferimento alla cartella, ma dice che Articolo.Articolo è ambiguo.
Se rinomino le mie classi come Articolo.custom.cs e le metto insieme all'edmx, sembra la scelta migliore ma il pipeline non funziona sempre (tipo Articolo.Fornitore.Nome).

Qualcuno usa questo metodo per aver la comodità di navigare le property del db?
Vorrei creare una struttura stabile.
Se invece esistono altri metodi più performanti, meglio ancora.

Aver la possibilità di estrarre dati senza scrivere tanto codice come questo:

 public List<Articoli> Carica()
        {
            try
            {
                return (from record in ctx.Articolo orderby record.Codice select record).ToList();
            }
            catch (Exception ex)
            { return null; }
        }


e poi utilizzarlo nei form, è comodo.
Attendo gentilmente suggerimenti.
grazie a tutti
A.
363 messaggi dal 13 novembre 2009
La cosa è più semplice di quello che pensi. Crea un file metadata.cs e dentro mettici ad esempio
Public partial class Articolo Ed il namespace della classe deve essere lo stesso del edmx ed il gioco è fatto.
Il file a parte non verrà cancellato alla ricostruzione dell edmx ed essendo la classe partial concorre ad implementare proprietà e metodi. Tieni ovviamente presente che le proprietà estendono ma non vengono persistite perché non include nel datamodel cioè nel database.
Un esempio di metodo potrebbe essere una validazione della classe in funzione anche delle custom property da te introdotte

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.