Chúng ta có thể phát triển ứng dụng ASP.NET MVC với MySQL làm cơ sở dữ liệu không?


8

Tôi hầu hết đã thấy các trang web ASP.NET sử dụng MSSQL làm cơ sở dữ liệu. Ngay cả tôi đã phát triển một thời gian trước đây. Tại sao chỉ có MSSQL, khi MySQL, một sự thay thế miễn phí có sẵn. Vì vậy, câu hỏi là, có thể tích hợp cơ sở dữ liệu MySQL dễ dàng như MSSQL với ứng dụng ASP.NET hay chúng ta cần sử dụng một số API để làm như vậy ??


8
SqlServer Express - được sử dụng rất phổ biến bởi các nhà phát triển MS-stack - cũng miễn phí.
Adam Crossland

Vậy thì tại sao mọi người chọn MSSQL thay vì MySQL nếu việc tích hợp đủ dễ dàng. Chi phí không phải là một yếu tố lớn nhưng vẫn là một yếu tố. Cả hai đều tốt như nhau, nhưng MySQL là miễn phí
Pankaj Upadhyay

2
Tích hợp bên ngoài với SQL Server là một điểm bán hàng lớn và Visual Studio cung cấp tất cả các loại công cụ ưa thích giúp dễ dàng tạo các mô hình và thực thể. Đó là lý do tương tự kết hợp PHP-MySQL trở nên phổ biến: nhanh chóng và dễ dàng.
Jarrod Nettles

3
Sau khi bạn tính toán trong thời gian của nhà phát triển, việc triển khai MS SQL Server có thể rẻ hơn so với MySQL.
Boris Yankov

3
Các công cụ MS hoạt động tốt như thế nào với MySQL? Làm thế nào dễ dàng cho các nhà phát triển biết MS-SQL và các công cụ của nó để chuyển mọi thứ sang cách MySQL? Đó là một chi phí bạn không xem xét ở đây tôi nghĩ.
JB King

Câu trả lời:


7

Tôi đã có một ứng dụng web ASP.NET/C#/MySQL chạy trong sản xuất khoảng 3 năm nay. Nó chạy tốt Tôi cũng sử dụng nó cho tất cả các công việc phụ của tôi quá. Trình kết nối ADO.NET cắm vào phòng thu trực quan và hoạt động giống như trình kết nối SQLSERVER. Có một vài vấn đề. Thứ nhất, không có tương đương miễn phí với Studio quản lý của SQLSERVER như tôi đã tìm thấy. Tôi sử dụng Aqua Data Studio, nhưng nó có giá một chút. Có một số RDMS miễn phí cho MySQL, nhưng chúng không thể so sánh với Management Studio. Tôi nghe nói nhật thực có một plugin cho MySQL khá tốt và miễn phí, và tôi chưa thử cái đó. Ngoài ra, trong MySQL bạn không thể THAY ĐỔI một thủ tục được lưu trữ, bạn chỉ có thể thả và tạo. Điều này gây ra một vài cơn đau trong A trong studio hình ảnh.

Trình kết nối MySQL ADO.NET hoàn toàn đa hình với các không gian tên System.Data và System.Data.SqlClient để dễ dàng có nhiều phiên bản cơ sở dữ liệu cho SQLSERVER và MySQL cùng một lúc. Điều này rất hữu ích nếu bạn có một khách hàng là một người bạn thân của MS, người nói rằng tào lao, "Chúng tôi là một cửa hàng duy nhất của microsoft!" như thể anh ấy thực sự biết những gì anh ấy đang nói về. Điều này xảy ra nhiều hơn bạn có thể nhận ra. Sau đó, bạn chỉ có thể sử dụng mã SQLSERVER cũ của mình thay vào đó mà không phải thực hiện bất kỳ mã hóa bổ sung nào - nếu bạn có một thiết kế tốt để bắt đầu.

Bài phê bình cuối cùng của tôi là MySQL nổi tiếng vì không duy trì khả năng tương thích ngược giữa trình kết nối .NET và các phiên bản khác nhau của công cụ DB của họ. Điều này tốt miễn là bạn đang triển khai máy chủ có MySQL trên đó, nhưng nếu bạn đang triển khai trang web đến một nhà cung cấp dịch vụ lưu trữ, hãy cẩn thận!

Đó là giá trị nỗ lực thêm theo ý kiến ​​của tôi, mặc dù nó có một số lỗ hổng vốn có mà nhiều dự án nguồn mở có. Theo kinh nghiệm của tôi, nó có khả năng mở rộng và nhanh hơn ms sqlserver, trong khi nếu bạn biết T-SQL, bạn sẽ nhận được cú pháp MySQL tương đối nhanh chóng.


cảm ơn bạn, đó thực sự là câu trả lời hữu ích và tuyệt vời cho câu hỏi của tôi
Pankaj Upadhyay

1
Bạn có thể sử dụng MySql Workbench , miễn phí và tương tự như MSSQL Server Management Studio
Jetti

@Jetti Thật vậy, bạn có thể, và bản phát hành mới nhất khá hay. Nó vẫn không giữ một ngọn nến cho Management Studio. Tuy nhiên, tôi hoàn toàn thích Aqua Data Studio. Tôi sử dụng nó cho tất cả các dự án DB của mình - SQLSERVER, MySQL, Oracle, v.v ...
Jonathan Henson

15

ASP.NET là một công nghệ web và không bị ràng buộc với bất kỳ cơ sở dữ liệu cụ thể nào. Như vậy, bạn có thể sử dụng NHibernate hoặc các phương thức truy cập dữ liệu tiêu chuẩn để kết nối với MySQL trên phần phụ trợ.


2

Ứng dụng của bạn có thể kết nối với cơ sở dữ liệu một cách dễ dàng, nhưng bạn có thể bỏ lỡ một số tích hợp Visual Studio cho SQL Server (Dự án SQL Server). Nếu bạn không quan tâm hoặc không quá gắn bó với họ, thì điều đó không thành vấn đề.


2

Nếu bạn đang chuyển đổi từ cơ sở dữ liệu này sang cơ sở dữ liệu khác trong quá trình thực hiện dự án, bạn có thể có một số nhiệm vụ hoàn toàn liên quan đến cơ sở dữ liệu (di chuyển dữ liệu) để thực hiện nếu bạn sử dụng các loại cụ thể của Sql Server. Ngoài ra, nếu bạn đã viết các thủ tục được lưu trữ, bạn phải viết lại tất cả.

Mặt khác, và đối với các dự án mới, không có vấn đề gì cả. Chỉ cần sử dụng trình kết nối ADO.NET: http://dev.mysql.com/doads/connector/net/

Và, như Ryan đã viết, với ADO.NET, bạn có thể kết nối với bất kỳ cơ sở dữ liệu nào bạn muốn miễn là ai đó đã viết trình kết nối cho nó. Và có ... nhiều.


0

Bạn có thể sử dụng MySQL với ASP.NET MVC, như mọi người khác đã nói trước đây. Một thứ mà bạn sẽ mất là Tích hợp CLR với SQL Server . Thật tuyệt khi có thể viết các thủ tục được lưu trữ trong C # nếu bạn có các phép tính phức tạp và đó là điều bạn không thể sao chép bằng cách sử dụng MySQL.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.