Câu trả lời:
14/06/2016 Yep ... vẫn nhận được upvotes: - /
17/03/2014 Tôi vẫn đang nhận được sự ủng hộ cho việc này, hãy chú ý đến ngày này đã được trả lời. Mặc dù ba mục chính được liệt kê vẫn hoàn toàn khả thi, danh sách sẽ có xu hướng trở nên cũ kỹ. Có nhiều công nghệ cơ sở dữ liệu có sẵn mà không được liệt kê.
Bạn có một vài lựa chọn miễn phí và dễ nhận biết ngay lập tức:
Tải xuống SQL Server Compact đi kèm với nhà cung cấp ADO.NET mà bạn sẽ cần tham khảo bằng mã. Tải xuống SQLite có thể không có nó vì vậy đây là một liên kết:
http://sqlite.phxsoftware.com/
Cả ba đều sử dụng SQL, mặc dù có khả năng với một vài hạn chế / quirks. Management Studio hoạt động với Compact và LocalDB, trong khi với SQLite, bạn sẽ cần một công cụ UI khác như SQLite Administrator:
http://sqliteadmin.orbmu2k.de/
Có các lựa chọn thay thế NoQuery, chẳng hạn như:
Cá nhân tôi sẽ tránh sử dụng MS Access khi đối mặt với các tùy chọn miễn phí khác. Bạn không thể sai với LocalDB, Compact hoặc SQLite. Chúng đều là những cơ sở dữ liệu nhỏ đáng yêu chạy tương đối nhanh trong ít RAM - sở thích cá nhân về khía cạnh tôn giáo về việc thích một sản phẩm của Microsoft mà tôi cho là :-)
Tôi sử dụng lập trình Sterling cho Windows Phone vì nó được xây dựng để sử dụng Bộ lưu trữ biệt lập. Tôi mới chỉ thấy các bài viết trên RavenDb, nhưng tôi có thể nói với bạn rằng đó là một khung lưu trữ tài liệu dựa trên JSON.
Không nhầm lẫn tình huống (đi với SQLite, SQL Server Express LocalDB hoặc SQL Server Compact Edition), nhưng có các cơ sở dữ liệu nhúng / cục bộ khác ngoài đó, một số khác có quan hệ hướng đối tượng:
Không phải tất cả trong số này là miễn phí. Hỗ trợ SQL / LINQ / in-Proc khác nhau trên tất cả chúng. Danh sách này chỉ dành cho sự tò mò.
Hiện tại cũng có Karvonite , tuy nhiên liên kết bộ sưu tập mã bị hỏng. Khi nó hoạt động trở lại, tôi sẽ xem xét cái này để phát triển WP7.
Tôi muốn giới thiệu SQLite . Chúng tôi đang sử dụng nó cho hầu hết các ứng dụng chúng tôi phát triển nơi tôi làm việc.
Nó nhỏ và gọn. Nó không yêu cầu DLL phải có trong thư mục ứng dụng, nhưng bạn không cần phải cài đặt phần mềm khác như Access hoặc SQL Server. Ngoài ra, như tuyên bố của danielkza bên dưới, "SQLite là miền công cộng, vì vậy bạn không phải lo lắng gì về việc cấp phép." Điều đó thực sự có thể tạo ra một sự khác biệt lớn.
Bạn có thể sử dụng System.Data.SQLite hoặc csharp-sqlite để truy cập nó trong ứng dụng C # bằng các phương thức tương tự như của SQL hoặc OleDB.
Bạn cũng sẽ cần một ứng dụng để chỉnh sửa / quản lý cơ sở dữ liệu. Theo tôi thì tốt nhất là SQLite Studio . Dưới đây là một vài thông tin khác:
SQLite Admin
SQLite 2009 Pro (cuối trang)
Cập nhật - 25/11/11 - Thêm ứng dụng SQLite (câu hỏi tại đây trên SO)
Dưới đây là nhiều hơn về SQLite:
SQLite trên Wikipedia
Các công ty sử dụng SQLite
Hàm tùy chỉnh: Ngoài ra, nếu bạn đang tìm kiếm trong Hàm SQLite Core và không thấy hàm nào bạn thích, bạn có thể tạo các hàm tùy chỉnh của riêng mình. Dưới đây là một vài ví dụ:
Từ ví dụ SO
Anoter
Firebird nhúng có thể là một lựa chọn tốt
Phiên bản nhúng là một biến thể tuyệt vời của máy chủ. Nó là một máy chủ Firebird đầy đủ tính năng được đóng gói chỉ trong một vài tệp. Nó rất dễ triển khai, vì không cần phải cài đặt máy chủ.
Có một số trình điều khiển mạng chấm rất tốt
SQL Server Compact nếu bạn muốn sử dụng giải pháp microsoft chính thức. Điều này có lợi thế là có thể sử dụng sao chép với máy chủ SQL nếu bạn cần loại điều đó.
SQLite nếu bạn muốn một cái gì đó rất đơn giản và nhỏ. Đây là những gì Android sử dụng cho cơ sở dữ liệu nội bộ của nó vì vậy nó được hỗ trợ rất tốt và có sẵn các ràng buộc .NET rất tốt.
Một lợi thế khác biệt của SQLite là nó đa nền tảng. Vì vậy, nếu bạn muốn chuyển ứng dụng của mình sang Mono.NET thì bạn sẽ không có bất kỳ sửa đổi nào để thực hiện cơ sở dữ liệu.
Tôi không thích MS Access cho giải pháp này nhưng rất nhiều người đã đưa nó vào câu trả lời của họ. Nó bị hạn chế do định dạng độc quyền và sự phụ thuộc vào nền tảng. Nó có lợi thế của nó mặc dù. Bạn có thể thao tác dữ liệu dễ dàng nếu bạn có một bản sao của MS Access, bạn có thể xây dựng các truy vấn bằng đồ họa và tạo các macro. Bạn có thể dễ dàng tích hợp nó với phần còn lại của MS Office.
Trong số tất cả các SQLite này sẽ là đề xuất của tôi do nó rất nhỏ gọn, được tài liệu tốt và được hỗ trợ bởi một đội ngũ phát triển đồng nghiệp đang phát triển bất kể nền tảng.
BIÊN TẬP
Tôi nhận ra rằng có một lựa chọn khác mà mọi người ở đây quên đề cập đến
Miễn là bạn không cần các bảng quan hệ, bạn có thể sử dụng tệp CSV được đọc dưới dạng tập dữ liệu qua ADO.NET. (Nhiều đề xuất lulz hơn bất cứ điều gì khác nhưng sẽ phù hợp trong một số trường hợp và không yêu cầu thêm thư viện để triển khai MS.
Nếu bạn đang xây dựng một dự án với .NET 4.0.2 trở lên và muốn hỗ trợ cơ sở dữ liệu nhúng, hãy xem xét SQL Server Express LocalDB .
Đây là một bổ sung tương đối mới cho họ Express có tính năng cài đặt nhỏ hơn và giảm chi phí quản lý (khi so sánh với các phiên bản khác của Express), nhưng nó vẫn duy trì các khía cạnh lập trình của SQL Server. Đó là, không giống như Phiên bản nhỏ gọn, LocalDB không yêu cầu cài đặt một nhà cung cấp ADO.NET riêng để giao tiếp với SQL.
Xem phần sau để biết thêm chi tiết:
SQL Express v LocalDB v SQL Phiên bản thu gọn (Blog MSDN)
SQL LocalDB vs SQL Server CE (Tràn ngăn xếp)
Thế còn http://en.wikipedia.org/wiki/NoQuery_(RDBMS) thì sao?
cụ thể là MongoDB cho .Net
Bạn có thể sử dụng Sql Server Express Edition
miễn phí và mạnh mẽ như nhau cho đến khi và trừ khi bạn muốn chức năng như mirroring
v.v. Hãy xem cái này .
Tôi đã sử dụng db4o thành công.
Dựa trên tập tin, cộng đồng lớn, sử dụng đơn giản.
Chi tiết cấp phép
Theo mặc định, Giấy phép công cộng miễn phí db4o được cấp phép theo GPL.
Giấy phép GPL là lý tưởng nếu bạn dự định sử dụng db4o tại nhà hoặc bạn có kế hoạch phát triển và phân phối công việc phái sinh của riêng bạn dưới dạng phần mềm miễn phí theo GPL.
Giấy phép thương mại Cần có giấy phép thương mại nếu bạn muốn nhúng db4o vào sản phẩm không phải GPL thương mại. Người được cấp phép thương mại có quyền truy cập vào các dịch vụ và hỗ trợ cao cấp.
Một giải pháp thay thế chưa được đề cập nếu bạn không yêu cầu nó phải là cơ sở dữ liệu miễn phí là VistaDB. Đó là tất cả mã được quản lý, cung cấp hàng tấn tính năng cho cơ sở dữ liệu nhúng và cung cấp hiệu suất khá tốt. Một cầu nối khá tốt giữa SQL CE và SQL Server Express vì phần lớn các thủ tục được lưu trữ VistaDB của bạn sẽ chạy mà không cần sửa đổi trong SQL Server Express. Tôi cũng khá hài lòng với dịch vụ khách hàng vào thời điểm này. Tôi đã sử dụng nó tại nơi làm việc. Không có dịch vụ để bắt đầu. Một DB trống là khoảng 1 MB và DLL cũng khá nhẹ. Có nhà cung cấp ADO.NET và những thứ như vậy. Tôi thích nó một chút tốt.
SQL Server Express hoặc MS Access