diff --git a/Controllers/NewsController.cs b/Controllers/NewsController.cs
index 71025789c443d49e41fb6026c4852fa797fe1ec6..e8c0e910377955adf3d02e37929f98467ad1b67e 100644
--- a/Controllers/NewsController.cs
+++ b/Controllers/NewsController.cs
@@ -34,7 +34,7 @@ namespace News_site.Controllers
 		{
 			try
 			{
-				List<Newspaper> newspapers = newsProvider.GetAll();
+				List<ExtendNewspaper> newspapers = newsProvider.GetAll();
 
 				if (newspapers == null)
 				{
@@ -47,16 +47,7 @@ namespace News_site.Controllers
 				return Ok(new { 
 					success = true, 
 					data = new { 
-						collection = result.Select(news => new
-						{
-							news.Id,
-							news.Image,
-							news.Title,
-							news.Categorylink,
-							news.CategorylinkNavigation,
-							news.Description,
-							news.CreatedAt
-						}).ToList(),
+						collection = result.ToList(),
 						total = result.Count(),
 						pagesize = sieveModel.PageSize, 
 						pageIndex = sieveModel.Page
diff --git a/Provider/CrawlDataProvider.cs b/Provider/CrawlDataProvider.cs
index a578aa236447842777e4c9573d846bd725b48923..a6ab7ab9634c1091597ea8ff500d629e16491146 100644
--- a/Provider/CrawlDataProvider.cs
+++ b/Provider/CrawlDataProvider.cs
@@ -66,8 +66,17 @@ namespace News_site.Provider
 					string checkCategoryLinkElem = Regex.Match(newsData, @"<div class=""detail-cate(.*?)</a>", RegexOptions.Singleline).Value;
 					string checkCategoryLink = Regex.Match(checkCategoryLinkElem, @"href=""(.*?)""", RegexOptions.Singleline).Value.Replace("href=\"", "").Replace("\"", "");
 
-					bool isNewspaperCrawled = await db.Newspapers.AnyAsync(news => news.Title.Equals(newsTitle));
-					bool isCategoryExisted = await db.Categories.AnyAsync(category => category.Link.Equals(checkCategoryLink));
+					var allNews = await db.Newspapers.Select(news => new
+					{
+						news.Title
+					}).AsNoTracking().ToListAsync();
+					var allCagegories = await db.Categories.Select(category => new
+					{
+						category.Link
+					}).AsNoTracking().ToListAsync();
+
+					bool isNewspaperCrawled = allNews.Any(news => news.Title.Equals(newsTitle));
+					bool isCategoryExisted = allCagegories.Any(category => category.Link.Equals(checkCategoryLink));
 
 					if (!isNewspaperCrawled && isCategoryExisted)
 					{
diff --git a/Provider/NewsProvider.cs b/Provider/NewsProvider.cs
index 93192c418f895e09c97dbaa4e5292b61c88e04bc..2944a0608bd502ca9094281a94fa9baa33f0c483 100644
--- a/Provider/NewsProvider.cs
+++ b/Provider/NewsProvider.cs
@@ -10,9 +10,18 @@ namespace News_site.Provider
 {
 	public class NewsProvider : BaseProvider
 	{
-		public List<Newspaper> GetAll()
+		public List<ExtendNewspaper> GetAll()
 		{
-			var news = db.Newspapers.Include(news => news.CategorylinkNavigation).ToList();
+			var news = db.Newspapers.Include(news => news.CategorylinkNavigation).Select(news => new ExtendNewspaper
+			{
+				Id = news.Id,
+				Image = news.Image,
+				Title = news.Title,
+				Categorylink = news.Categorylink,
+				CategorylinkNavigation = news.CategorylinkNavigation,
+				Description = news.Description,
+				CreatedAt = news.CreatedAt
+			}).ToList();
 
 			return news;
 		}