Sử dụng SQLite trong dự án .NET C# theo đúng tiêu chí gọn và nhẹ

Chào mọi người ạ, em hiện nay đang tìm hiểu về SQLite vì nó được giới thiệu là gọn và nhẹ. Quả thực nếu thử dùng nó với Python hay Java và kể cả C/C++ thì thấy rất hay và tiện. Tuy nhiên đối với ngôn ngữ chính mà em sử dụng là C# lại là câu chuyện khác, mỗi lần muốn sử dụng đều phải cài đặt thêm thư viện System.Data.SQLite vào , và mỗi dự án như vậy phần dung lượng cài đặt thư viện SQLite vào chiếm tới 88MB @@, quá nặng so với kích thước Project mà sinh viên bọn em thường làm, và mỗi Project lại phải cài riêng . Có pro nào có kinh nghiệm về vụ này chỉ bảo em thêm với được không ạ ? Làm sao để sử dụng SQLite nhưng đúng với tiêu chí gọn và nhẹ bây giờ ?

image

Check lại files mà package cài vào xem - install size có 5MB mà sao ra đến 88MB luôn vậy. SQLite compile ra static library cũng có ~3MB thôi mà.

5 Likes

Em cũng thử Search nhiều rồi , mà kể cả trang SQLite tutorial nó cũng bắt add thư viện vào C# như trên @@ , nó add vào 4 lố package gồm SQLite, SQLite Core, EntityFramework 6,… nên dung lượng phình ra rất lớn ạ

1 Like

88M là của cả project hay chỉ có bin ?
Em nên bỏ qua mấy cái con số MB đó.
Nó không có ý nghĩa gì nhiều tại thời điểm này.

5 Likes

88Mb là của thư mục package được tạo ra trong thư mục project khi mình cài SQLite từ Nuget của Visual Studio ạ , mỗi project riêng lại phải cài riêng 1 bộ 88mb đó .
Tất nhiên bình thường 88Mb không phải gì đó to tát , tuy nhiên nó nằm trong 1 Project chỉ nặng vài Mb lại là 1 câu chuyện khác ạ.

1 Like

Người ta chỉ quan tâm tới kết quả cuối cùng.
Là exe và các tập tin cần thiết để chạy ứng dụng. Nó nằm trong thư mục output của project.

1 Like

Pro nói đúng ạ , chỉ là SQLite thấy ứng dụng cho các ngôn ngữ khác tốt quá, với lại nó cũng được bảo là gọn nhẹ . Nên lúc dùng cho C# thấy không phải vậy nên em mới đi tìm giải pháp ạ :3

Em chỉ mới sinh viên năm nhất thôi nên còn ít kinh nghiệm , chỉ toàn làm mấy Project như quán ăn , quản lý sinh viên này nọ. Phần cơ sở dữ liệu nếu dùng SQL Server thấy nó phức tạp quá, còn hệ quản trị CSDL nào tương tự như SQLite , gọn nhẹ nữa không ạ ?

Gọn nhẹ là cái kết quả cuối cùng ấy chứ không phải tổng dung lượng của project.
Bởi vì mình sau này chỉ giao cho người ta những cái output thôi và người ta cũng chỉ cần có thế.
Còn một cái nữa là build ở chế độ Release sẽ nhẹ và chạy nhanh hơn Debug.

5 Likes

Dạ , cảm ơn bro ạ . Để em làm 1 dự án với nó thử và cảm nhận xem sao haha

Mình còn tưởng build ra file 88MB chứ, mấy cái thư mục package hay như m code nodejs thì là node_modules bao nhiêu MB cũng ko sao, vì lưu trữ trên git ta cũng đã ignore ko lưu thư mục này, thư mục này cũng ko phản ánh dung lượng của app release cuối cùng.
code Nodejs thì package cả GB chứ ko tính bằng MB:))

5 Likes

Hồi mình mới học Node.js, chỉ cài mỗi Express xong thử mở thư mục node_modules thì úi giời ơi, mấy trăm cái package luôn :rofl:.

4 Likes

Chuẩn luôn bác ạ , thật sự cái em băn khoăn là ở khoản sharing đó :v , ví dụ như đưa lên Github, không thể đưa đống bùi nhùi đó lên được :3 , hoặc share cho bạn bè này nọ, Node.Js em chưa đụng tới nên cái đó em chưa biết hehe

Em sinh viên non nớt, cảm tạ các pro cho mở rộng tầm mắt :rofl: :rofl:
Tuy là muốn biết bao quát hết cho dễ chọn lựa cơ mà cũng không thể cài hết chúng nó vào PC để xem hết được haha

Nhìn lại cái Web project Hello world của mình :)) 1.2GB
image

5 Likes

Kích thước khi code không phải vấn đề , cái quan tâm là khi release và share ấy ạ , và có bác ở trên kia bảo cứ Git Ignore nó đi , em thấy đã là hợp lý :rofl:

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?