2012-07-21 30 views
10

Tôi muốn nâng cấp ứng dụng của mình lên EF 5 để tận dụng các tính năng như hỗ trợ cho không gian enum vv Tuy nhiên, tôi không thể nâng cấp trừ khi tôi chuyển sang .Net 4.5.Có lý do kỹ thuật nào mà EF 5 không được hỗ trợ đầy đủ trên .NET4.0 không?

Tôi muốn biết tính năng của .Net 4.5 nào EF 5 sử dụng không thể thực hiện trong .Net 4.0?

+0

Tôi hy vọng rằng danh hiệu được cập nhật làm cho nó một "mang tính xây dựng" câu hỏi. Tuy nhiên, ngay cả khi một cái gì đó * kỹ thuật * khả thi, nó có thể không * thực tế * khả thi để hỗ trợ nhiều mục tiêu (tưởng tượng nếu nó chỉ sử dụng * một * mới "tiện lợi" 4.5 API cuộc gọi), đặc biệt là khi cố gắng để thúc đẩy mới nhất và -greatest .. cũng, đi từ .NET4.0 đến .NET4.5 không phải là một thay đổi "CLR-breaking", như .NET3.5 thành .NET4 (hoặc .NET1.1 thành .NET2). –

+0

Một ví dụ trực tiếp về điều đó: hỗ trợ 2 khung công tác ngay lập tức tăng gấp đôi yêu cầu thử nghiệm (mọi thứ cần thử nghiệm trên mỗi khung công tác), ** ngay cả khi ** bạn không biết bất kỳ vấn đề kỹ thuật nào. –

+2

[Bạn có thể cài đặt EF5 cho .NET4.0 qua NuGet] (http://nuget.org/packages/entityframework), nhưng có thể bạn sẽ không nhận được tất cả các tính năng. –

Trả lời

15

sự hiểu biết của tôi là EF> = 4.1 (bao gồm EF 5) bao gồm

  • các "thư viện lõi" EF như (System.Data.Entity.dll) mà là một phần của .NET Framework
  • gói bổ sung/lắp ráp, bạn có thể tải về thông qua NuGet chứa DbContext API và xây dựng Quy tắc thứ nhất

có những kế hoạch và nỗ lực vào mùa hè năm 2011 (Entity Framework June 2011 CTP) để giải phóng enum, spatia Hỗ trợ và các tính năng mới khác (ngoại trừ Mã di chuyển đầu tiên) như là một bản cập nhật của các librares lõi trước khi .NET 4.5 được phát hành. Nhưng nhóm EF đã quyết định rằng các bản cập nhật ngoài băng tần này có thể thực hiện cho gói NuGet (đó là lý do tại sao EF 4.3 đã có tính năng Di chuyển không cần phải chạm vào các thư viện chính), nhưng đối với các thư viện chính thì khó khăn và không thể được thực hiện trước khi NET 4.5 phát hành:

có hai phần logic để khung Entity, các thành phần cốt lõi rằng tàu bên trong .NET Framework và Visual Studio và các 'ra khỏi ban nhạc 'các thành phần mà chúng tôi có thể cập nhật trên một lịch trình thường xuyên hơn nữa là . Chúng tôi hiện đang xem cách chúng tôi có thể cập nhật các thành phần chính của trên một nhịp điệu thường xuyên hơn. ‘EF June 2011 CTP’ là nỗ lực đầu tiên của chúng tôi khi vận chuyển các thành phần cốt lõi hơn thường xuyên và rõ ràng là chúng tôi chưa sẵn sàng về mặt kỹ thuật để thực hiện việc này.

thành phần cốt lõi bao gồm:

  • Lõi EF Runtime (System.Data.Entity.dll & System.Web.Entity.dll)
  • EF thiết kế

Out của các thành phần ban nhạc bao gồm : (Chúng tôi có thể sẽ gửi nhiều hơn trong số các thành viên ban nhạc trong tương lai)

  • Các DbContext API & Mã đầu tiên (EntityFramework.dll)
  • T4 Templates cho việc sử dụng DbContext API với Model đầu tiên & Cơ sở dữ liệu đầu tiên
  • EF Dụng cụ điện cầm
  • Mã Đầu tiên Migrations

(Trích từ here.)

Điều đó có nghĩa là enum hỗ trợ cho EF sẽ là một phần của thư viện lõi .NET 4.5 và không phải gói phần mềm EF 5 NuGet có thể tải xuống được. Do đó, các tính năng EF mới như enum và hỗ trợ không gian không có sẵn cùng với .NET 4.0.

Thông tin thêm về lịch sử và lý trí tách "thư viện EF Core" từ "EF NuGet gói" là ở đây: http://blogs.msdn.com/b/adonet/archive/2011/10/18/how-we-talk-about-ef-and-its-future-versions.aspx

+0

Vì vậy, những gì tôi hiểu là nhóm muốn các thư viện đầu tiên không mã để có thể tận dụng lợi thế của enum, hỗ trợ không gian vv Trong trường hợp như vậy phát hành một SP mà sẽ cập nhật VS 2010 sẽ là một lựa chọn rẻ hơn. Bắt buộc các dự án chuyển sang .Net 4.5 và ở đó bằng cách yêu cầu các nhà phát triển chuyển sang VS 2012 trong khoảng thời gian 2 năm mà không có thay đổi lớn trong thời gian chạy giống như chạy sau tiền. Tôi biết VS 2012 là một sản phẩm tốt hơn nhiều. :) Tôi chỉ hy vọng rằng họ giảm giá của VS 2012 nâng cấp đáng kể. Nhưng tôi rất hạnh phúc khi tiếp tục, ASP.Net và EF đang đi vào nguồn mở. – Hemant

+0

@Hemant Ít nhất nó không giống như tính năng "tự động" tự động của các dự án MSTest .. muốn có một thử nghiệm .NET35 trong VS2010? :( –

+0

@Hemant: Tôi tìm thấy một số trích dẫn và tài nguyên khác và đưa vào câu trả lời của tôi. Nhưng không có gì thực sự mới ở đó. – Slauma

Các vấn đề liên quan