Dưới đây là một chút LinqToSql Gotcha:phím tắt có điều kiện trong LinqToSql truy vấn
// Returns the number of counties in a state,
// or all counties in the USA if the state is null
public static int CountCounties(State s) {
var q =
from cy in County.GetTable() // my method to get the ITable
where (s == null || s.Code == cy.StateCode) // shortcut OR operator, right...?
select cy;
return q.Count();
}
Đoán những gì - nếu bạn vượt qua một đối tượng null State
để phương pháp này, bạn sẽ có được một ngoại lệ tham chiếu null! Có vẻ như LinqToSql không sử dụng toán tử tắt ||
làm lối tắt!
Trả lời tín dụng cho bất kỳ ai đề xuất giải thích tốt nhất & giải pháp cho việc này.
Đây có phải là LinqToSql không? –
Trong LINQ 'bình thường', một truy vấn tương tự phù hợp với tôi. –
Vâng, đó là LinqToSql - xin lỗi, sẽ chỉnh sửa câu hỏi –