zoukankan      html  css  js  c++  java
  • asp.net core 1.1 entityframework mysql

    本人是做JAVA开发的,因为前两天看了一篇文章,知道了.net core的存在,很感兴趣,所以做了一下尝试。

    打开visual studio 2017,新建一个.net core

    点击运行,你可以看到一个网站模板。

     打开Program.cs,你看到的是这样的:

    这个文件是应用的启动文件,

    UseKestrel()表示启用了内置的一个中间件"Kestrel",就和eclipse的GlassFish是一个意思,但据说性能比iis高出很多倍。

    UseStartup<Startup>() 泛型指定了启动时的项目运行时配置文件,就是Startup.cs文件。

    mvc相信大家都已经很熟悉了,就不多说了,我们连接一下数据库,因为我本机安装有mysql所以就自然想去连接,

    所以就去NuGet找相关的模块,但都无法安装,后来看了一个文档,说是.net core的连接库没在nuget标准库里。

    最后去nuget官网找到了:

    http://www.nuget.org/packages/MySql.Data.EntityFrameworkCore/

    在nuget控制台下执行这个命令就可以了:Install-Package MySql.Data.EntityFrameworkCore -Pre

    然后在项目下新建一个Modles文件夹,用来存放entity

    在modles下新建一个类:

    public class User {
            [Key]
            public int ID { get; set; }
            public string Name { get; set; }
            public string Email { get; set; }
            public string Bio { get; set; }
        }

    在同一个文件中新建一个ef上下文:

    public class EFDbContext : DbContext {
            public EFDbContext(DbContextOptions<EFDbContext> options) : base(options) {
    
            }
            public DbSet<User> User { get; set; }
            
        }

    将Stratup.cs文件做如下修改

    public void ConfigureServices(IServiceCollection services)
            {
                services.AddDbContext<EFDbContext>(options => options.UseMySQL(Configuration.GetConnectionString("MySQL")));
                // Add framework services.
                services.AddMvc();
    
            }

    这里有一个问题,就是

    options.UseMySQL

    这里会报错,说UseMySQL方法不存在,这是因为这个方法是在扩展包里的,所以要引入MySQL.Data.EntityFrameworkCore.Extensions命名空间。

    这里有个

    Configuration.GetConnectionString("MySQL")

    的连接配置文件,那我们打开appsettings.json文件,做如下修改:

    {
      "ConnectionStrings": {
        "MySQL": "server=localhost;database=template;uid=root;pwd=;charset=utf8;sslmode=none"
      },
      "Logging": {
        "IncludeScopes": false,
        "LogLevel": {
          "Default": "Warning"
        }
      }
    }

    在mysql里建一个新库template ,对照着User.cs文件,新建一张表,写点测试数据在里面。

    打开Controllers下的HomeControll.cs文件:

    public IList<User> UserList() {
                var list = _context.User.ToList();
                return list;
            }

    点击运行,

    在地址栏里追加地址:/Home/UserList 

    以上就是对于这次体验的大概过程,感觉相对于java目前最火的框架springmvc,从完整性和模块独立上来说,两者的差距已经越来越小了,听说2.0版本今年7月左右发布,很有可能会超越后者,另外 .net core相较于.net framework的最大变化,就是能跨平台了,下次再说说怎么把项目发到linux上执行。

  • 相关阅读:
    Catch That Cow POJ 3278(BFS)
    python的各种推导式(列表推导式、字典推导式、集合推导式)
    贝叶斯神经网络
    浅谈贝叶斯
    置换检验
    Python的基本用法
    字符串和编码
    开启新篇章
    无偏博弈类问题
    PAT1103
  • 原文地址:https://www.cnblogs.com/eclipse-/p/6733555.html
Copyright © 2011-2022 走看看