Cài package liên quan: Serilog.AspNetCore Cài đặt cấu hình ở Program.cs Hàm Main() Log.Logger = new LoggerConfiguration() Hàm CreateWebHostBuilder public static IWebHostBuilder CreateWebHostBuilder(string[] args) => Sử dụng trong controller public class HomeController : Controller Tạo Mailer rất quan trọng dùng để gửi mail thông báo trong các trường hợp:
Để thực hiện, ta tạo class GoogleMailer dùng tài khoản Google để gửi mail Khi gửi trong localhost, có thể bạn sẽ gặp lỗi như sau: Bạn cần cấp quyền Allow Access for Less Secure Apps. bằng cách vào link sau: https://www.google.com/settings/security/lesssecureapps và bật ON tính năng: Allow Access for Less Secure Apps. Tiến hành test gửi mail nhé :)
Cài đặt thư viện DinkToPdf qua Nuget:
ICó nhiều thư viện làm việc với Excel file trong .NET Core như DotNetCore.NPOI, npoi, EPPlus, .... Trong bài viết này, tôi sẽ hướng dẫn các bạn sử dụng thư viện thư viện EPPlus để Import/Export file Excel.
Để thực hiện, trước tiên các bạn cần cài thư viện EPPlus. Ở đây tôi chọn phiên bản: 4.5.2 Để GitHub là một dịch vụ lưu trữ mã nguồn trên Cloud được Microsoft mua lại vào tháng 6/2018.
Trong bài này tôi sẽ hướng dẫn các bạn dùng Visual Studio có thể lấy code, submit code lên GitHub, cũng như merge code dễ hàng với Visual Studio nhé. Để thực hiện cần chuẩn bị 01 tài khoản Google.
Vào trang: https://cloud.google.com/dotnet/ Để sử dụng dịch Google Cloud, bạn cần kích hoạt tài khoản bằng cách bấm TRY IT FREE. Eager Loading Eager loading giúp bạn load tất cả các entity trong 1 câu lệnh, tất cả các entity con sẽ được load ra trong 1 lần gọi duy nhất bằng cách dùng phương thức Include, sẽ trả về các entity liên quan như một phần của câu query và một lượng lớn dữ liệu sẽ được load ra 1 lần. Lưu ý: Vì nội dung tiếng anh nên tôi cố gắng dễ hiểu nhất có thể, đừng cố dịch sát nghĩa nhé Ví dụ, ta có một bảng Loai và bảng HangHoa (một hàng hóa tương ứng với 1 loại), tôi cần lấy toàn bộ thông tin loại và hàng hóa tương ứng với loại đó: Loai lo = context.Loais Lazy Loading Đây là một hành vi mặc định của Entity Framework, các entity con không được load ra chỉ khi bạn yêu cầu nó. Ví dụ, khi chúng ta chạy câu lện bên dưới, thông tin HangHoas sẽ không được tải ra theo bảng Loai: Loai lo = context.Loais.SingleOrDefault(a => a.MaLoai == loaiId); Khi nào nên áp dụng
Tốt nhất không nên dùng lazy loading cho Collection Property (query trong vòng lặp) vì nó sẽ gọi nhiều lần. Ngược lại với Navigation Property là 1 class thông thường thì sử dụng lazy loading sẽ tiết kiệm công sức cho bạn hơn. Tuy nhiên, vấn đề là do bạn chọn lựa "mình thích thì mình làm thôi" |
Giới thiệuTrang thông tin bài viết hướng dẫn thao tác trên môi trường .NET Core Archives
November 2020
Categories |