2012-02-28 13 views
5

Chúng tôi đã làm việc trong VS2010 và EF và các cuộc thảo luận khác nhau về khả năng mở rộng và chi phí đã khiến chúng tôi phải chuyển sang Mono.Chuyển sang Mono: Các lựa chọn thay thế Khung thực thể

Tôi hiểu hầu như tất cả mã của tôi sẽ hoạt động, ngoại trừ EF mà chúng tôi đang sử dụng cho mô hình của chúng tôi (dự án ASP.NET).

Bất kỳ ai cũng có thể đề xuất dễ dàng sử dụng ORM để cho phép chúng tôi thực hiện nhiều thao tác ánh xạ cùng với MySQL? Một điều tôi thích là yếu tố hình ảnh của mô hình EF, làm cho nó rất đơn giản để thay đổi và thấy mối quan hệ.

+0

NHibernate (không thực sự dễ sử dụng). – Steven

+0

@Steven - NHibernate và Entity Framework nằm trong cùng một ballpark phức tạp-khôn ngoan. Nếu bạn chọn viết các tệp ánh xạ XML của mình, NHibernate là khởi đầu chậm hơn so với Khuôn khổ thực thể, nhưng không có lý do chính đáng để làm điều đó. –

+1

Liên quan đến "viết các tệp ánh xạ XML của bạn" - bạn có nói rằng có những công cụ giúp chúng tôi tự động lập bản đồ này không? Nếu vậy, bạn có thể chỉ cho tôi theo hướng này không? – pierre

Trả lời

0

Nếu dự án của bạn không phức tạp, Castle ActiveRecord là một trong những giải pháp thay thế. Mặc dù nó không cung cấp mối quan hệ FK, nó là cách dễ dàng hơn để sử dụng hơn NHibernate. Ví dụ: AR cung cấp cấu hình dựa trên chú thích thay vì cấu hình XML chi tiết.

+0

Castle ActiveRecord hoạt động tốt với các mối quan hệ khóa ngoại. bạn đang đề cập gì tới? –

+0

Castle ActiveRecord có hỗ trợ LINQ trên truy vấn IQueryable không? – Steven

+0

@Michael - Tôi có nghĩa là [ForeignKey] thuộc tính trong EF nó thuận tiện hơn khi lưu một đối tượng cha-con, mặt khác, có thuộc tính [BelongsTo] trong AR, nhưng nó được sử dụng cho kiểu tham chiếu không phải kiểu nguyên thủy như xa như tôi biết. Hãy sửa tôi nếu tôi sai. – Ray

1

Khi được viết, không có câu trả lời cho câu hỏi của bạn vì câu hỏi đó không đúng định dạng. Trong tiêu đề, bạn đề cập đến việc muốn một "Thay thế khung thực thể", nhưng các nhận xét thứ hai của bạn cho thấy bạn đang tìm kiếm nhiều hơn những gì mà Entity Framework cung cấp - vì vậy ngay cả khi có tồn tại nó sẽ không cung cấp cho bạn mọi thứ bạn muốn.

Nếu không có chi tiết cụ thể, dường như bạn muốn nói điều gì đó giống như hơn:

  • Làm thế nào tôi có thể sử dụng MySQL và Visual Studio để có được một kinh nghiệm tương đương cũng được tích hợp như tôi đang làm với SQL Server (hoặc DB thương mại khác)?
  • Cơ sở dữ liệu thay thế và ORM tương thích EF nào tôi có thể sử dụng để có được trải nghiệm thiết kế tương đương với MySQL (hoặc một DB nguồn mở khác) so với những gì tôi đang có với SQL Server (hoặc DB thương mại khác)?
  • Làm cách nào để có được trải nghiệm gỡ lỗi, thiết kế và phát triển Visual Studio tích hợp tương thích trên nền tảng không phải Windows thấp hơn (ví dụ: Linux)?

Tùy thuộc vào (các) câu hỏi ở trên của bạn thực sự gần hơn, sẽ đưa ra câu trả lời.

1

Hôm nay tôi tried Entity Framework 6 alpha2 với Mono. Nó chưa hoàn toàn có nhưng tôi tin rằng các vấn đề có thể được khắc phục.