2010-11-11 11 views
5

Tôi có một dự án sử dụng NHibernate 1.2. Tôi biết nó cũ, nhưng tôi đã sử dụng nó kể từ khi tôi đang làm việc ra NHibernate trong hành động, mà mục tiêu cùng một phiên bản.Bạn nhận được gì từ việc nâng cấp NHibernate 1.2?

Tôi đã nghĩ tôi nên cập nhật kiến ​​thức của mình về công cụ, cũng như chính công cụ. Nhưng tôi tự hỏi sự khác biệt giữa các phiên bản là gì. Tôi biết 2.1 đã tồn tại trong một thời gian, và 3.0 là trong các công trình.

Lợi ích hoặc tính năng nào có được, bị mất hoặc thay đổi khi chuyển sang NHibernate 2.1 hoặc 3.0?

Trả lời

13

Tắt đầu và trộn các tính năng 2.X và 3.0 ... Hỗ trợ LINQ, EventListeners (bộ chặn mạnh hơn), hỗ trợ System.Transaction, hỗ trợ generics, multiquery, truy vấn trong tương lai, SchemaUpdate (thay vì chỉ SchemaExport), trình phân tích cú pháp HQL tốt hơn nhiều, ... Thêm nhiều bản sửa lỗi. Rất nhiều điều đã diễn ra trong thế giới NHibernate kể từ NH 1.2 ...

+0

hỗ trợ LINQ trong 3,0 là rất lớn – czuroski

+0

Tôi đồng ý. Hỗ trợ LINQ hạng nhất trong NH3 (thông qua phương pháp mở rộng ISession.Query ()) được cải tiến nhiều hơn so với chứng minh của Ayende đối với NH2.X. ISession mới.QueryOver () hỗ trợ tiêu chí đánh máy mạnh mẽ cũng tốt đẹp. –

1

Bạn nhận hỗ trợ LINQ!

0

Tôi bắt đầu vào ngày 2.x + vì vậy tôi không thể nói nhiều ... nhưng tôi chắc chắn sẽ nâng cấp lên 3.0 khi nó đã hết . Chủ yếu là vì QueryOver trông giống như ICriteria trên loại steriod an toàn!

7

Với việc phát hành 3.0.0, NHibernate bao gồm hỗ trợ cho LINQ, cùng với tính năng bổ sung như:

Cùng với một danh sách dài các sửa lỗi và cải tiến, nó có một số tính năng mới bao gồm

  • Một mạnh mẽ gõ tiêu chuẩn API mới được gọi là QueryOver
  • Lazy loading of columns
  • Bí danh phân cách trong SQL được tạo ra
  • Hỗ trợ cho các tiêu chí tách rời trong vòng IStatelessSession.
  • Hỗ trợ được cải thiện cho LINQ, khắc phục các giới hạn HQL của nhà cung cấp trước đó.

thay đổi Breaking:

  • người dùng nâng cấp nên biết rằng một trong các bản sửa lỗi có nghĩa là vô giá trị trong từ điển không còn âm thầm bỏ qua, trong đó có các tiềm năng để phá vỡ ứng dụng hiện tại mã.
0

v3: Loại bỏ sự phụ thuộc vào log4net (mà thường là một tình yêu-ghét nó hay-nó điều)