Lời khuyên của tôi là sử dụng cả hai. Lúc đầu, tôi nghĩ rằng tôi sẽ chỉ sử dụng LINQ để sql và không bao giờ phải liên lạc ado.net bao giờ trở lại (những gì làm cho tôi hạnh phúc lol).
Bây giờ tôi đang sử dụng cả hai vì một số thứ từ LINQ đến sql (và bất kỳ ORM nào như EF) không thể thực hiện được. Tôi đã phải làm một số chèn khối lượng và tôi đã làm nó đầu tiên với linq để sql và để làm 500 hồ sơ phải mất hơn 6 phút (2 phút cho phần còn lại quy tắc xác nhận đã được chèn vào db).
tôi đã thay đổi nó để sql bản sao số lượng lớn và bây giờ nó là xuống 2min và 4 giây (4 giây để làm tất cả những lần chèn)
Nhưng giống như marc_s nói rằng tôi thực sự không muốn fiddle xung quanh với DataTables, DataRows, và không được xếp hàng Row ["RowName"].
Giả sử bảng của tôi dài 10 cột và được gọi là Bảng A. Điều tôi đã làm là sử dụng LINQ to sql và tạo một bảng A (đối tượng TableA mới) và điền dữ liệu vào. Sau đó tôi sẽ chuyển đối tượng này đến một phương thức tạo datarow.
Vì vậy, LINQ to sql đã lưu cho tôi một thời gian vì tôi có thể đã tạo một lớp vì tôi không muốn chuyển 10 tham số vào phương thức tạo hàng dữ liệu. Tôi cũng cảm thấy nó mang lại một chút về sự dễ thương khi bạn phải truyền vào đúng đối tượng để sử dụng phương pháp đó để ít cơ hội truyền dữ liệu sai hơn.
Cuối cùng, bạn vẫn có thể sử dụng LINQ to sql để gọi thủ tục được lưu trữ và giống như một dòng mã.
Vì vậy, tôi sẽ sử dụng cả hai khi bạn nhận thấy rằng LINQ to sql (hoặc trong trường hợp của bạn EF) là chậm sau đó chỉ cần viết một SP và gọi nó thông qua EF. Nếu bạn cần làm trực tiếp ado.net để đánh giá những gì bạn cần làm, bạn có thể sử dụng EF cho hầu hết mã (vì vậy bạn ít nhất có thể làm việc với các đối tượng) và chỉ cho phần nhỏ đó là ado.net sql sao chép số lượng lớn.
Bạn có thể nói thêm về ứng dụng nào không? Nghe có vẻ giống như một ứng dụng giao dịch - tin xấu: HOÀN TOÀN sai công cụ. – TomTom