首先仔細(xì)閱讀官方給出的升級(jí)文檔這是地址
簡(jiǎn)介 - Training | Microsoft Learn
跟據(jù)文檔中的操作升級(jí)
升級(jí)之后可能會(huì)有大量報(bào)錯(cuò),將報(bào)錯(cuò)都改好,運(yùn)行
如果能正常運(yùn)行起來那么恭喜你,一般是會(huì)有問題
我遇到的問題是項(xiàng)目啟動(dòng)不了,各種報(bào)錯(cuò),改好錯(cuò)誤之后能順利生成了,看一下你的vs2022 是不是最新,更新到最新。
然后我貼出Program.cs 文件,供大家參考
using Microsoft.EntityFrameworkCore;
using XinHua2021.Models;
using YuanFuTouBao2022Core.Dao;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddControllersWithViews();
builder.Services.AddControllersWithViews().AddRazorRuntimeCompilation();
//注入Session
builder.Services.AddSession();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Home/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseSession();
app.UseRouting();
app.UseAuthorization();
app.MapControllerRoute(
name: "default",
pattern: "{controller=Login}/{action=Index}/{id?}");
app.Run();
直接啟動(dòng)運(yùn)行,這時(shí)候項(xiàng)目就能啟動(dòng)了,再改一下js引用css引用,改一下數(shù)據(jù)庫(kù)鏈接這里放出sqlserver 和 mysql 兩種方式的數(shù)據(jù)庫(kù)鏈接
首先要引入包
項(xiàng)目應(yīng)該有這些包
sqlserver:
namespace XinHua2021.Models
{
using Microsoft.EntityFrameworkCore;
using NPOI.SS.Formula.Functions;
using DbContext = Microsoft.EntityFrameworkCore.DbContext;
public partial class mssql0081881Entities : DbContext
{
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
string connString = @"Data Source=.;Initial Catalog=aa;Persist Security Info=True;User ID=a;Password=a;MultipleActiveResultSets=true;Encrypt=True;TrustServerCertificate=True;";//數(shù)據(jù)庫(kù)連接字符串
optionsBuilder.UseSqlServer(connString);
}
public virtual DbSet<YFTB_CfmMessages> YFTB_CfmMessages { get; set; }
public virtual DbSet<YFTB_Config> YFTB_Config { get; set; }
}
}
mysql :建一個(gè)類
using Microsoft.EntityFrameworkCore;
using System.Data.Entity;
using DbContext = Microsoft.EntityFrameworkCore.DbContext;
namespace YuanFuTouBao2022Core.Dao
{
public class SqlContext : DbContext
{
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
base.OnConfiguring(optionsBuilder);
string connectStr = "server=.;port=3306;database=a;uid=a;pwd=a;CharSet=utf8";
//注意了,下面的那么Version是mysql的版本號(hào),8.0.3是我的版本號(hào),你可以通過在cmd中輸入
//mysql --help查看自己的版本號(hào)
optionsBuilder.UseMySql
(connectStr, new MySqlServerVersion(new Version(8, 0, 29)));
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.ApplyConfigurationsFromAssembly(this.GetType().Assembly);
}
public Microsoft.EntityFrameworkCore.DbSet<YFTB_LoginUser> YFTB_LoginUser { get; set; }
}
}
基礎(chǔ)類建好,分別把實(shí)體類在補(bǔ)充上 數(shù)據(jù)庫(kù)這塊就搞定了
在controller中就可以使用了文章來源:http://www.zghlxwxcb.cn/news/detail-803908.html
public class LoginController : Controller
{
mssql0081881Entities db = new mssql0081881Entities();
// GET: Login
SqlContext sqlContext = new SqlContext();
public IActionResult Index()
{
var a = sqlContext.YFTB_LoginUser.ToList();
return View();
}
}
再去修改 項(xiàng)目中controller和views具體的寫法就好了。文章來源地址http://www.zghlxwxcb.cn/news/detail-803908.html
到了這里,關(guān)于asp.net mvc framework 4.8 升級(jí)到 net 8.0的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!