.NetCore教程之 EFCore连接Mysql DBFirst模式

一:创建EF的类库,同时将此项目设置为启动项(为Scaffold-DbContext -tables指令使用),同时安装2个包  

            ①Microsoft.EntityFrameworkCore.Tools

            ②Pomelo.EntityFrameworkCore.MySql (这个是第三方的ef mysql 中间件)

例如:

            

 

 

二:生成数据库的实体和EF的DBcontext对象,用到的是 Scaffold-DBcontext命令

            在程序包控制台输入以下命令

                      Scaffold-DbContext -Force  "Server=****;User Id=root;Password=****;Database=****" -Provider "Pomelo.EntityFrameworkCore.MySql"

                      server:数据库地址,User Id:账号,Password:登录密码

                     如果是针对单表的更新,加一个-Tables 后面是要更新的表名

                     Scaffold-DbContext -Force  "Server=****;User Id=root;Password=****;Database=****" -Provider "Pomelo.EntityFrameworkCore.MySql"  -Tables "myTable"

                     执行完成之后会生成指定的是Model ,注意:表必须有主键,才会生成,如果没有主机会报 Unable to generate entity type for table “xxxx” 警告,当然实体也不会生成

                     出现的问题:如果有表字段为 datetime类型的,生成的时候会报错 应输入标识符,处理方法:把.()去掉。此问题如果有大神看到帮忙解答下

                          

 

            例如:

           

 

 

三:创建标准的web应用,进行使用

       ①在appsettings.json配置数据库的地址信息,注意  SslModel=none例如

 "MySqlConnection": "Database='***';Data Source=****;User ID=***;Password=***;CharSet=utf8;SslMode=None"

 

       ② 在startup.cs 配置注入,其中有用到一些引用 顺手引用一下

    

 public void ConfigureServices(IServiceCollection services)
        {
            services.Configure<CookiePolicyOptions>(options =>
            {
                // This lambda determines whether user consent for non-essential cookies is needed for a given request.
                options.CheckConsentNeeded = context => true;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });

            //ef mysql 配置
            services.AddDbContext<drewtestContext>(options => options.UseMySql(Configuration.GetConnectionString("MySqlConnection")));

            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
        }

  ③之后就是标准的调用,例如在控制器中的使用

     

 public class HomeController : Controller
    {
        drewtestContext _content;
        public HomeController(drewtestContext context)
        {
            _content = context;
        }

        public IActionResult Index()
        {
            List<SctonlyHome> list_sctonlyHomes = _content.SctonlyHome.ToList();
            return View();
        }
    }

到此就是基础的EF core mysql入门配置了。

 

 

----再牛逼的梦想,也抵不住我傻逼似的坚持!别在该奋斗的年纪,贪图安逸。 今天多学一点,明天的路更宽!

 

转载于:https://www.cnblogs.com/DNLi/p/9524976.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
.NET Core 6.0中使用Entity Framework(EF)的Database First方式配置连接并进行实战是很简单的。 首先,确保你的项目中已经安装了相应的NuGet包,包括`Microsoft.EntityFrameworkCore.Tools`和`Microsoft.EntityFrameworkCore.SqlServer`(如果你使用SQL Server作为数据库)。 接下来,打开终端或命令提示符窗口,进入你的项目文件夹,并执行以下命令来生成EF的模型类: ``` dotnet ef dbcontext scaffold "YourConnectionString" Microsoft.EntityFrameworkCore.SqlServer -o Models ``` 在这个命令中,你需要将"YourConnectionString"替换为你的数据库连接字符串。该命令将自动生成EF的模型类,并将其放在`Models`文件夹中。 完成上述步骤后,你就可以在代码中使用这些生成的模型类来与数据库进行交互了。例如,你可以编写以下代码来获取数据库中的数据: ```csharp using System; using System.Linq; using Microsoft.EntityFrameworkCore; using YourProject.Models; // 替换为你生成的模型类所在的命名空间 namespace YourProject { class Program { static void Main(string[] args) { using (var context = new YourDbContext()) // 替换为你生成的DbContext类的名称 { var data = context.YourTableName.ToList(); // 替换为你数据库中的表名称 foreach (var item in data) { Console.WriteLine(item.PropertyName); // 替换为你表中的属性名称 } } } } } ``` 以上代码演示了如何通过使用生成的模型类和DbContext类来查询数据库中的数据。 这就是在.NET Core 6.0中使用EF的Database First方式配置连接并进行实战的简单过程。希望能对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值