Xin chào cả nhà . Hôm nay minh xin giới thiệu sản phẩm mới của mình do mình phát triển mục tiêu hướng đến các bạn đa mê công nghệ nhưng không giỏi về lập trình vẫn có thể xây dựng cho mình 1 sản phẩm ứng dụng riêng biệt. Và atcsmart đã ra đời như thế. Tất cả các bạn đều có thể sử dụng được chỉ cần xem hướng dẫn và làm theo là các bạn hoàn toàn có thể làm chủ công nghệ .
Học lập trình web .NETCORE MVC .NETCORE 3.x Entity Framework 6 Code First sử dụng phần mềm ATCSMART gồm các bài sau.
Điều kiện cần cài đặt Visual 2017 -2019 Và một trong hệ quản trị cơ sở dữ liệu sau đây
( SQLSever 2017-2019 | MySQL MariaDB | Oracle 11 )
Xem thêm tại đây
1. Tạo chức năng các bảng dữ liệu
Script Mysql
CREATE TABLE IF NOT EXISTS category (
id int NOT NULL,
name varchar (200) NULL,
sort int NULL,
parrent int NULL,
status tinyint(1) NULL
, PRIMARY KEY(id))
ENGINE=Inno
CREATE TABLE IF NOT EXISTS blog (
id int unsigned NOT NULL AUTO_INCREMENT ,
title varchar (250) NULL,
note varchar(500) NULL,
datepost date NULL,
content varchar(500) NULL,
sort int NULL,
images varchar (100) NULL,
status tinyint(1) NULL,
link varchar (200) NULL,
userpost varchar (50) NULL,
categoryid int NULL,
tagseo varchar (500) NULL
, INDEX(id), PRIMARY KEY(id))
ENGINE=InnoDB;
DB;
Script Sqlsever
----BEGIN CREATE TABLE category--------
CREATE TABLE `category` (
`id` int NOT NULL,
`name` nvarchar (200) NULL,
`sort` int NULL,
`parrent` int NULL,
`status` bit NULL
, PRIMARY KEY(id))
;
-------BEGIN CREATE TABLE Blog--------
CREATE TABLE `Blog` (
`id` int IDENTITY(1,1) NOT NULL,
`title` nvarchar (250) NULL,
`note` text NULL,
`datepost` date NULL,
`content` text NULL,
`sort` int NULL,
`images` nvarchar (100) NULL,
`status` bit NULL,
`link` nvarchar (200) NULL,
`userpost` nvarchar (50) NULL,
`categoryid` int NULL,
`tagseo` nvarchar (500) NULL
, PRIMARY KEY(id))
;
Script Oracle
-------BEGIN CREATE TABLE category--------
CREATE TABLE category (
id NUMBER NOT NULL,
name NVARCHAR2 (200) NULL,
sort NUMBER NULL,
parrent NUMBER NULL,
status NUMBER(1) NULL
, PRIMARY KEY(id))
;
-------BEGIN CREATE TABLE Blog--------
CREATE TABLE Blog (
id NUMBER GENERATED ALWAYS as IDENTITY(START with 1 INCREMENT by 1),
title NVARCHAR2 (250) NULL,
note VARCHAR2(4000) NULL,
datepost date NULL,
content VARCHAR2(4000) NULL,
sort NUMBER NULL,
images NVARCHAR2 (100) NULL,
status NUMBER(1) NULL,
link NVARCHAR2 (200) NULL,
userpost NVARCHAR2 (50) NULL,
categoryid NUMBER NULL,
tagseo NVARCHAR2 (500) NULL
, PRIMARY KEY(id))
;
2. Sử dụng script trên trinh quản lý sql sever 2012
3. Bulding code và chọn mẫu và xuất ra thư mục.
1.Controllers
using MSQL.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
namespace MSQL.Controllers
{
public class BlogController : Controller
{
MSQLEntities db = new MSQLEntities();
public IActionResult Index()
{
ViewBag.categoryid = new SelectList(db.category.ToList(), "name", "id");
var data = db.Blog.OrderByDescending(x => x.id).ToList();
return View(data);
}
`HttpPost`
public IActionResult Delete(Int32 id)
{
var data = db.Blog.FirstOrDefault(x => x.id.Equals(id));
if (data != null)
{
var listdata = db.Blog.Where(x => x.id.Equals(data.id));
foreach (var item in listdata)
{
db.Blog.Remove(item);
}
db.Blog.Remove(data);
db.SaveChanges();
}
return RedirectToAction("Index", "Blog", new { id = data.id });
}
public IActionResult Edit(Int32 id)
{
var _Blog = db.Blog.FirstOrDefault(x => x.id.Equals(id));
BlogEdit model = new BlogEdit();
ViewBag.categoryid = new SelectList(db.category.ToList(), "id", "name", _Blog.id);
if (_Blog != null)
{
model.id= _Blog.id;
model.title= _Blog.title;
model.note= _Blog.note;
model.datepost= _Blog.datepost;
model.content= _Blog.content;
model.sort= _Blog.sort;
model.images= _Blog.images;
model.status= _Blog.status;
model.link= _Blog.link;
model.userpost= _Blog.userpost;
model.categoryid= _Blog.categoryid;
model.tagseo= _Blog.tagseo;
}
return View(model);
}
`HttpPost`
public IActionResult Edit(BlogEdit model)
{
ViewBag.categoryid = new SelectList(db.category.ToList(), "id", "name", model.id);
if (ModelState.IsValid)
{
var _Blog = db.Blog.FirstOrDefault(x => x.id.Equals(model.id));
if ( _Blog != null)
{
_Blog.id = model.id;
_Blog.title = model.title;
_Blog.note = model.note;
_Blog.datepost = model.datepost;
_Blog.content = model.content;
_Blog.sort = model.sort;
_Blog.images = model.images;
_Blog.status = model.status;
_Blog.link = model.link;
_Blog.userpost = model.userpost;
_Blog.categoryid = model.categoryid;
_Blog.tagseo = model.tagseo;
db.SaveChanges();
ModelState.AddModelError("", "Update sucsecs full!");
}
}
return View(model);
}
public IActionResult Add()
{
BlogAdd model = new BlogAdd();
ViewBag.categoryid = new SelectList(db.category.ToList(), "name", "id");
return View(model);
}
`HttpPost`
public IActionResult Add(BlogAdd model)
{
ViewBag.categoryid = new SelectList(db.category.ToList(), "name", "id", model.categoryid);
if (ModelState.IsValid)
{
Blog _Blog = new Blog();
var data = db.Blog.FirstOrDefault(x => x.id.Equals(model.id));
if (data == null)
{
_Blog.id = model.id;
_Blog.title = model.title;
_Blog.note = model.note;
_Blog.datepost = model.datepost;
_Blog.content = model.content;
_Blog.sort = model.sort;
_Blog.images = model.images;
_Blog.status = model.status;
_Blog.link = model.link;
_Blog.userpost = model.userpost;
_Blog.categoryid = model.categoryid;
_Blog.tagseo = model.tagseo;
db.Blog.Add(_Blog);
db.SaveChanges();
ModelState.AddModelError("", "Add new a item sucsecs full");
}
else
{
ModelState.AddModelError("", "tên này đã tồn tại. Hãy chọn tên khác");
}
}
return View(model);
}
}
}
2. Model
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace MSQL {
`Table("Blog")`
public class Blog
{
` DatabaseGenerated(DatabaseGeneratedOption.Identity)`
`Key `
public Int32 id { get; set; }
`MaxLength(250)`
public String title { get; set; }
public String note { get; set; }
public DateTime datepost { get; set; }
public String content { get; set; }
public Int32 sort { get; set; }
`MaxLength(100)`
public String images { get; set; }
public Boolean status { get; set; }
`MaxLength(200)`
public String link { get; set; }
`MaxLength(50)`
public String userpost { get; set; }
public Int32 categoryid { get; set; }
`MaxLength(500)`
public String tagseo { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace MSQL
{
`Table("category")`
public class category
{
`Key `
public Int32 id { get; set; }
`MaxLength(200)`
public String name { get; set; }
public Int32 sort { get; set; }
public Int32 parrent { get; set; }
public Boolean status { get; set; }
}
}
3. Entity DbContext
using System;
using System.Collections.Generic;
using Microsoft.EntityFrameworkCore;
namespace MSQL
{
public partial class MSQLEntities : DbContext
{
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(@"Server =.sqlexpress; Database = MSQL; User Id = sa; Password = 123; ");
}
public DbSet<Blog> Blogs { get; set; }
public DbSet<category> categorys { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder) {}
}
}
4. Xuất code vào project có sẵn hoặc mới hoàn toàn.
5. Chạy demo và triển khai đăng nhập quản lý
6. Cập nhật chỉnh sửa theo ý 1 số mục cần thiết.
Tùy chỉnh ngôn ngữ lại theo ý muốn
7. Hoàn thiện lần cuối.
8. Triển khai đưa sản phẩm lên hosting domain Hỗ trợ linux
----Nội dung đang được cập nhật----