Πώς μπορώ να αντικαταστήσετε ένα ακίνητο Int με Enum στην Οντότητα πλαίσιο;

ψήφοι
11

Έχω μια τάξη οντότητα που έχει ένα ακίνητο με ένα υποκείμενο στήλη db από τον τύπο δεδομένων Int, όμως στην πραγματικότητα θέλω αυτό το ακίνητο να είναι Enum. Υπάρχει κάποιος τρόπος να διευκρινιστεί ότι αυτή η ιδιότητα επιστρέφει Enum εκεί;

Δημοσιεύθηκε 09/12/2008 στις 16:44
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
10

Έμμεσα, όπως έτσι .

Προσωπικά, έχω αφήσει το κοινό int αποθήκευσης (για παράδειγμα ως DbFoo, όπου η ιδιοκτησία απαρίθμησης είναι Foo) - με αυτόν τον τρόπο μπορώ ακόμα να γράψω λάμδα κατά της στήλης για εκτέλεση στην DB, για παράδειγμα:

where row.DbFoo == SomeConstant

Αν δεν εκθέτετε την τιμή αποθήκευσης, δεν μπορείτε να το κάνετε αυτό, όπως καθαρά. Θα μπορούσατε επίσης να αφήσει την εσωτερική, και να έχουν κάποιες μεθόδους στο πλαίσιο για να κάνει το φιλτράρισμα ... εδώ είναι ένα έγραψα νωρίτερα σήμερα:

public IOrderedQueryable<User> Administrators
{
    get { return Users.Where(x => x.DbUserType == User.UserTypeAdmin)
             .OrderBy(x => x.Name);
}

όπου User.UserTypeAdminείναι η εσωτερική μου σταθερή. Σε αυτήν την περίπτωση, δεν θα μπορούσα να χρησιμοποιήσει μια διάκριση υποκατηγορία, όπως αυτό παρεμβαίνει με ADO.NET Data Services.

Απαντήθηκε 09/12/2008 στις 16:46
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more