.Net Core6.0 Entity FrameWorkCore与SqlServer创建连接DBcontext上下文

using System;
using System.Collections.Generic;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata;

namespace Student.Manage.Api.Models
{
    /// <summary>
    /// 添加Nuget包:
    /// Microsoft.EntityframeworkCore.Core
    /// Microsoft.EntityframeworkCore.SqlServer
    /// Microsoft.EntityframeworkCore.Tools
    /// Microsoft.EntityframeworkCore.Abstractions
    /// Microsoft.EntityframeworkCore.Relational
    /// </summary>
    public partial class TestDBContext : DbContext
    {
        public TestDBContext()
        {
        }

        public TestDBContext(DbContextOptions<TestDBContext> options)
            : base(options)
        { 
        }
        /// <summary>
        /// Tb_Student测试实体(与数据库表结构设计保持一致)
        /// </summary>
        public virtual DbSet<Tb_Student> TbStudents { get; set; } = null!;
        /// <summary>
        /// 与数据库建立连接函数
        /// </summary>
        /// <param name="optionsBuilder"></param>
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            #region 与sqlserver数据库建立连接两种方式
            //第一种 
            //optionsBuilder.UseSqlServer("Data Source=.;Initial Catalog=TestDB;Integrated Security=True;Trust Server Certificate=True"); 
            //第二种(在配置文件中设置数据库连接字符串)
            //"ConnectionStrings": {
            //    "DbDefaultString": "Data Source=.;Initial Catalog=TestDB;Integrated Security=True;Trust Server Certificate=True"
            //}
            optionsBuilder.UseSqlServer("name=ConnectionStrings:DbDefaultString");
            //第三种()
            //base.OnConfiguring(optionsBuilder);
            #endregion          
        }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.Entity<Tb_Student>(entity =>
            {
                entity.ToTable("tb_Student");

                entity.Property(e => e.Id)
                    .ValueGeneratedNever()
                    .HasColumnName("id");

                entity.Property(e => e.StuAge).HasColumnName("stu_age");

                entity.Property(e => e.StuGender)
                    .HasMaxLength(10)
                    .HasColumnName("stu_gender")
                    .IsFixedLength();

                entity.Property(e => e.StuGrade)
                    .HasMaxLength(50)
                    .HasColumnName("stu_grade");

                entity.Property(e => e.StuName)
                    .HasMaxLength(50)
                    .HasColumnName("stu_name");

                entity.Property(e => e.StuRemark)
                    .HasMaxLength(255)
                    .HasColumnName("stu_remark");
            });

            OnModelCreatingPartial(modelBuilder);
        }

        partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
    }
}

数据库连接字符串获取

工具>连接到数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值