Jestem nowy w LINQ. Właśnie przeciągnąłem wszystkie moje tabele bazy danych na projektanta w LINQ do SQL dbml. Wszystkie moje relacje są poprawne i ładnie wyglądają w projektancie. Jestem w stanie pobierać dane za pomocą prostego kodu LINQ. Chcę teraz dodać własne metody, ale nie chcę zmywać moich zmian, jeśli (kiedy) potrzebuję zregenerować mój dbml. Zgaduję, że po prostu utworzę nowy plik klasy i ustawiam klasy częściowe wygenerowanych klas. Czy to jest poprawne? Na przykład, mam wygenerowane klasy o nazwie SystemUser która zawiera kolumny SystemUserId, Nazwa użytkownika, Hasło, PersonID, SecurityQuestionId, SecurityQuestionResponse. Chcę dodać metody nazywanej Uwierzytelnij void() oraz nową właściwość o nazwie bool uwierzytelnionych. Zasadniczo chcę przekazać w nazwę użytkownika i hasło do authenticate() i ustawić uwierzytelnionych właściwość opartą na znalezienie użytkownikowi dopasowanie itd Gdzie iw jaki sposób mogę to zrobić?Dodawanie nowych metod do LINQ do klas wygenerowanych przez SQL
9
A
Odpowiedz
13
Klasy generowane przez LINQ są klasami częściowymi, co oznacza, że można je rozszerzyć, tworząc własne partial classes lub partial methods.
W twoim przypadku możesz utworzyć częściową klasę dla swojego SystemUser, a następnie dodać tam swoją metodę (metody). Nie zostaną one zastąpione, jeśli plik DBML zostanie zregenerowany.
Coś jak:
public partial class SystemUser
{
public bool Authenticated { get; set; }
void Authenticate()
{
//Perform custom logic here.
}
}
2
Spójrz na użycie klasy Częściowe ... może to bardzo dobrze pasować do Twojej sytuacji.
1
Jeśli chcesz, aby twoja klasa miała nową metodę, musisz utworzyć nowy plik i użyć częściowej klasy.
Powiązane problemy
- 1. Dodawanie LINQ do moich klas
- 2. Nienormalne odwołanie do odwołania przy serializacji LINQ do klas SQL
- 3. dodawanie nowych obiektów do localstorage
- 4. Uzyskiwanie wygenerowanych poleceń SQL przez OleDbCommandBuilder
- 5. LINQ do SQL Paging
- 6. Play Framework - dodawanie nowych katalogów do ścieżki klasy
- 7. Dodawanie złożonych klas do Mongo
- 8. LINQ do SQL PredicateBuilder
- 9. Użyj klas wygenerowanych przez JAXB (xjc) w Androidzie
- 10. Dodawanie nowych plików do repozytorium Subversion
- 11. "Dodawanie" nowych czcionek do Tesseract eng.traineddata
- 12. Sitecore: dodawanie nowych zakładek do edytora treści
- 13. Dodawanie nowych zmiennych członkowskich do obiektów Pythona?
- 14. Dodawanie nowych czcionek do Tesseract 3
- 15. LINQ do SQL - aktualizacja rekordów
- 16. kapt nie rozwiąże protobuf wygenerowanych klas
- 17. Dodawanie DataAnnontations do generowanych klas częściowych
- 18. Dodawanie klas wielkości do istniejącego projektu Xcode
- 19. Wordpress: Dodawanie selektorów klas do the_tags(); output
- 20. Linq do SQL utworzyć tabelę
- 21. Sygnały w Linq do Sql?
- 22. Linq do Regeneracji klasy SQL
- 23. linq do podmiotów generowanych sql
- 24. LINQ do SQL dla Oracle.ODP
- 25. Błąd LINQ do SQL ForeignKeyReferenceAlreadyHasValueException
- 26. Przyspieszenie kwerend LINQ do SQL
- 27. Linq do SQL: wybierz optymalizację
- 28. LINQ do SQL .Sum (...) bez grupy do
- 29. Linq do Sql - Wiele do wielu - CRUD
- 30. Linq do SQL: jak agregować bez grupy przez?
Wszystkie odpowiedzi były pomocne, ale spodobało mi linki, który podałeś. Jestem nowy w StackOverflow, więc myślę, że wygrasz !? Dzięki. – user64874
Woohoo! Dzięki. :-) –