Nói chung, chúng tôi sử dụng null
để có nghĩa là 'không xác định' hoặc 'không tồn tại' hoặc 'không áp dụng'. Vì vậy, trong trường hợp của một bộ lọc, nó có ý nghĩa để cho phép null, bởi vì nó có nghĩa là 'không lọc'.
Bên cạnh đó, một enum gọi Regions
có thể có giá trị như Northeast
, Southeast
, Midwest
, Southwest
, và West
. Bây giờ, xin vui lòng sửa tôi nếu tôi sai, nhưng tôi không nghĩ rằng có bất kỳ khu vực được gọi là "Tất cả" ở Mỹ. Trong thời gian tôi ở lại lâu năm, tôi nghe người thời tiết trên TV nói về thời tiết ở phương Tây, và thời tiết ở Đông Nam, vv nhưng không bao giờ có thời tiết ở một nơi gọi là "Tất cả". Vì vậy, tôi nghiêng để tin rằng không có khu vực như vậy. Vì vậy, bao gồm "Tất cả" trong một enum của khu vực là một hack. Đột nhiên, các en232 Regions
không phải là về khu vực; thay vào đó là về các vùng và/hoặc lọc chúng. Những thay đổi về ý nghĩa của loại này là một cái gì đó để nhận thức được trong lập trình và nói chung là tránh.
Nguồn
2012-01-11 02:27:34
Tên gọi phải là UpperCamelCase – SLaks
Tôi cảm thấy đó là vấn đề không phù hợp với trở ngại về đối tượng-quan hệ. Ở phía ứng dụng, có ý nghĩa để có các tùy chọn như "Tất cả", "Tất cả các vùng bờ biển phía Tây" và "Tất cả các vùng duyên hải phía đông". Tuy nhiên, tôi thường sử dụng enum được đúc thành int trực tiếp dưới dạng SqlParameter. Trong các phương thức này, tôi sẽ cần kiểm tra từng trường hợp này và chuyển đổi chúng thành SQL thích hợp. (Thay vì "và vùng = 1", tôi sẽ cần "và khu vực trong (2, 4, 5)"). Thật không may, SqlParameters không hoạt động tốt với các danh sách. – Serinus