Tôi mới sử dụng LINQ. Tôi vừa kéo tất cả các bảng cơ sở dữ liệu của mình vào trình thiết kế trong một dbml LINQ to SQL. Tất cả các mối quan hệ của tôi là chính xác và trông đẹp trong nhà thiết kế. Tôi có thể lấy dữ liệu bằng cách sử dụng mã LINQ đơn giản. Bây giờ tôi muốn thêm các phương thức riêng của mình nhưng không muốn thổi bay các thay đổi của mình nếu (khi nào) tôi cần phải tạo lại dbml của mình. Tôi đoán tôi chỉ cần tạo một tệp lớp mới và thiết lập một phần các lớp của các lớp được tạo ra. Điều này có đúng không? Ví dụ: tôi có một lớp được tạo có tên là SystemUser có chứa các cột SystemUserId, Tên người dùng, Mật khẩu, PersonId, SecurityQuestionId, SecurityQuestionResponse. Tôi muốn thêm phương thức có tên là void Xác thực() và thuộc tính mới được gọi là bool Đã xác thực. Về cơ bản tôi muốn vượt qua trong một tên người dùng và mật khẩu để Authenticate() và thiết lập Authenticated bất động sản dựa vào việc tìm kiếm một người sử dụng phù hợp, vv Trường hợp và làm thế nào tôi sẽ làm điều này?Thêm các phương thức mới vào các lớp được tạo LINQ to SQL
9
A
Trả lời
13
Các lớp do LINQ tạo ra là các lớp học một phần, có nghĩa là bạn có thể mở rộng chúng bằng cách tạo partial classes hoặc partial methods của riêng bạn.
Trong trường hợp của bạn, bạn có thể tạo một lớp từng phần cho Người dùng hệ thống của mình, rồi thêm (các) phương thức của bạn vào đó. Chúng sẽ không bị ghi đè nếu tệp DBML được tạo lại.
Cái gì như:
public partial class SystemUser
{
public bool Authenticated { get; set; }
void Authenticate()
{
//Perform custom logic here.
}
}
2
Hãy xem qua việc sử dụng lớp học một phần ... nó có thể phù hợp với tình huống của bạn rất độc đáo.
1
Nếu bạn chỉ muốn lớp học của bạn có phương pháp mới, bạn đã tạo đúng một tệp mới và sử dụng lớp học một phần.
Các vấn đề liên quan
- 1. Không thể thêm các lớp LINQ to SQL vào các dự án trong VS2010
- 2. Thêm LINQ vào các lớp của tôi
- 3. LINQ to SQL - Không có phương thức Thêm nào có sẵn
- 4. Thêm nhận xét XML vào thuộc tính lớp được tạo bởi nhà thiết kế LINQ to SQL
- 5. Groovy thêm các phương thức mới vào các lớp Java như thế nào?
- 6. Các đặc tính LINQ to SQL
- 7. LINQ to SQL tạo bảng
- 8. Tôi có thể thêm các phương thức mới vào lớp String trong Java không?
- 9. Làm cách nào để MATLAB nhận ra các phương thức tĩnh mới được thêm vào?
- 10. Phương thức mới được thêm vào trong javax.sql.CommonDataSource trong 1,7
- 11. LINQ to SQL hoặc LINQ to DataSet?
- 12. LINQ to SQL - cập nhật các bản ghi
- 13. Thêm phương thức vào một lớp miền
- 14. đăng nhập LINQ to SQL tạo SQL thành NLog
- 15. Phương pháp LINQ để thêm các mục vào từ điển
- 16. LINQ to Salesforce "SQL" nhà cung cấp
- 17. Biểu thức bảng chung (CTE) trong linq-to-sql?
- 18. LINQ to batch sql xóa
- 19. Tạo sơ đồ JUnit cho các phương thức mới trong lớp hiện có trong Eclipse
- 20. SQL to LINQ Tool
- 21. LINQ to SQL và có
- 22. Xóa các hàng trong một bảng bằng LINQ to SQL
- 23. Tạo danh sách các phương thức của một lớp với các kiểu phương thức
- 24. LINQ to SQL: Tái sử dụng biểu thức lambda
- 25. Thêm thuộc tính vào các phương thức mẫu trong Python
- 26. Có thể thêm các phương thức vào java.lang.String
- 27. Phương thức LINQ
- 28. LINQ to Entities không nhận ra phương thức System.ObjectCompareObjectEqual
- 29. LINQ to SQL - Cơ sở dữ liệu đã tạo ra khóa đã được sử dụng
- 30. Mở rộng ArrayList và tạo các phương thức mới
Tất cả các câu trả lời là hữu ích, nhưng tôi thích các liên kết mà bạn cung cấp. Tôi mới vào StackOverflow vì vậy tôi nghĩ rằng bạn giành chiến thắng !? Cảm ơn. – user64874
Woohoo! Cảm ơn. :-) –