13/04/2016

[UWP] Use Entity Framework 7 and SQLite in Windows Universal Apps


Entity Framework nay hỗ trợ nền tảng Universal Windows Platforms, tuy vẫn còn nhiều issues nhưng cơ bản mọi thứ hoạt động khá trơn tru. Bạn có thể làm quen trước  thông qua ví dụ trên trang giới thiệu về EF: efproject.net

Với EF bạn có thể làm việc với các Database Provinders sau:
  • Microsoft SQL Server
  • SQLite
  • Microsoft SQL Server Compact Edition
  • Npgsql (PostgreSQL)
  • IBM Data Servers
  • InMemory (for testing)

Bạn có thể theo dõi bài viết trên trang giới thiệu để thực hiện ví dụ mẫu, tuy nhiên dưới đây là một vài lưu ý để bạn không gặp phải khó khăn khi thực hiện nó.

- Có thể sử dụng SQLite để thực hiện demo thêm sửa xóa.

- Chỉ cần 2 Install-Package như trên trang chủ đã hướng dẫn
Install-Package EntityFramework.SQLite –Pre
Install-Package EntityFramework.Commands –Pre
- Bạn có thể kết nối tới database một trong các nhà cung cấp đã nói ở trên nếu bạn có server riêng. Nếu không bạn có thể dùng InMemory để test hoặc sử dụng SQLite, nó sẽ tạo dữ liệu cục bộ trên thiết bị của bạn.

- Để không bị lỗi không hay khi tạo ví dụ mẫu, bạn nên tạo mới một blank project để không thiếu các thư viện cần thiết

- Add đoạn mã sau vào file Properties/Default.rd.xaml để giả quyết một issue của EF, điều này sẽ sớm được giải quyết
<!-- Add your application specific runtime directives here. -->
<Type Name="System.Collections.ArrayList" Dynamic="Required All" />

- Lệnh Add-Migration bạn chỉ thực hiện lần đầu sau đó bạn có thể đặt đoạn mã dưới đây:
using (var db = new YourContext())
{
     db.Database.Migrate();
}
Trong file App.cs để EF tự động cập nhật các thay đổi, nếu không bạn tự Add-Migration khi model thay đổi.

- Bạn có thể delete tất cả Migrations để làm lại và uninstall app trên thiết bị của bạn

Created: 13/04/2016

Share

Happy Reading!

[UWP] Use Entity Framework 7 and SQLite in Windows Universal Apps
4/ 5
Oleh

Buzz!

Stay updated via email new newsletter

Don't
Use obscene or offensive language.
Personally attack people, their edits, or their comments.
Rant or otherwise harass, abuse, or intimidate others.
Post anything you don't want the world to see. This is a public space.
Infringe copyright.