当前位置: 首页 > news >正文

同样也是做严选的网站/360建站和凡科哪个好

同样也是做严选的网站,360建站和凡科哪个好,专门做考研的网站,网站建设教程自学EF Core 是一个ORM(对象关系映射),它使 .NET 开发人员可以使用 .NET对象操作数据库,避免了像ADO.NET访问数据库的代码,开发者只需要编写对象即可。EF Core 支持多种数据库引擎:Microsoft SQL SeverSQLiteNpgsqlMySQL......1.获取E…

EF Core 是一个ORM(对象关系映射),它使 .NET 开发人员可以使用 .NET对象操作数据库,避免了像ADO.NET访问数据库的代码,开发者只需要编写对象即可。

EF Core 支持多种数据库引擎:

Microsoft SQL Sever

SQLite

Npgsql

MySQL

......

1.获取EF Core

通过NuGet获取要使用的数据库支持。比如:Microsoft SQL Sever

打开NuGet程序包管理器控制台,输入:Install-Package Microsoft.EntityFrameworkCore.SqlServer

2.模型

EF Core 是通过一个模型进行数据库访问的。模型由实体类和表示与数据库中的会话组成的,以及允许你查询和保存数据派生的上下文。

既可以从现有数据库生成模型,也可以使用EF 迁移来完成从模型生成数据库,也就是Database First 和 Code First。

简单的模型:

public partial classTestContext : DbContext

{publicTestContext()

{

}public TestContext(DbContextOptionsoptions)

:base(options)

{

}public virtual DbSet User { get; set; }protected override voidOnConfiguring(DbContextOptionsBuilder optionsBuilder)

{if (!optionsBuilder.IsConfigured)

{#warning To protect potentially sensitive information in your connection string, you should move it out of source code. See http://go.microsoft.com/fwlink/?LinkId=723263 for guidance on storing connection strings.optionsBuilder.UseSqlServer("Data Source=.;Initial Catalog=Test;Integrated Security=True");

}

}protected override voidOnModelCreating(ModelBuilder modelBuilder)

{}

}

使用模型操作数据库:

public classHomeController : Controller

{privateDataContext _context;publicHomeController(DataContext context)

{

_context=context;

}publicIActionResult Index()

{

_context.User.Add(new User() { Name="name",Password="123"});

_context.SaveChanges();//查询

var users =_context.User.ToList();returnView();

}

3.Code First

Code First 也就是通过EF迁移来完成从模型生成数据库。

1.创建项目

创建一个ASP.NET Core WEB 应用程序

2.打开NuGet包管理器下载 Microsoft.EntityFrameworkCore.SqlServer 和 Microsoft.EntityFrameworkCore.Tools

3.在Models文件夹创建实体类和上下文类

public classBlogContext:DbContext

{public BlogContext(DbContextOptionsoptions)

:base(options)

{

}public DbSet Blog { get; set; }public DbSet Post { get; set; }

}

public classBlog

{public int BlogId { get; set; }public string Url { get; set; }public virtual List Posts { get; set; }

}

public classPost

{public int PostId { get; set; }public string Title { get; set; }public string Content { get; set; }public int BlogId { get; set; }public Blog Blog { get; set; }

}

4.在ConfigureServices方法中添加上下文依赖注入:

public voidConfigureServices(IServiceCollection services)

{

services.Configure(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;

});var connectionString = Configuration.GetConnectionString("DefaultConnection");

services.AddDbContext(options =>options.UseSqlServer(connectionString));

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

}

5.在appsettings.json中添加链接数据库字符串

{"ConnectionStrings": {"DefaultConnection": "Data Source=.;Initial Catalog=Blog;Integrated Security=True"},"Logging": {"LogLevel": {"Default": "Information"}

},"AllowedHosts": "*"}

6.打开NuGet程序包管理控制台,先输入 Add-Migration FirstMigration,再输入Update-Database。迁移成功后,会创建数据库,以及会在项目中生成一个Migrations文件夹,里面时迁移记录。

创建成功就可以通过构造函数依赖注入的方式访问数据库了。

4.Database First

Database First,也就是通过现有数据库生成模型

1.创建项目,并安装Microsoft.EntityFrameworkCore.SqlServer , Microsoft.EntityFrameworkCore.Tools 和 Microsoft.EntityFrameworkCore.SqlServer.Design

2.在NuGet程序包管理器控制台输入:Scaffold-DbContext "Data Source=.;Initial Catalog=Blog;Integrated Security=True" Microsoft.EntityFrameworkCore.SqlServer 。执行成功会生成相关模型:

3,现在可以使用上下文访问数据库了,但是不能通过依赖注入的方式。如果需要,还是在ConfigureServices方法中添加代码:services.AddDbContext()。如果要使用appsettings.json中的连接字符串,就需要按照上面ConfigureServices方法中所写的。

http://www.jmfq.cn/news/5092021.html

相关文章:

  • 门窗企业网站建设/上海企业seo
  • 万年网站建设/成都网络推广公司
  • 地推/郑州关键词seo
  • 国内用react做的网站/网站优化排名软件推广
  • 有的网站为什么打不开怎么回事/天津关键词优化专家
  • 汕头教育学会网站建设/片多多可以免费看电视剧吗
  • 网站上哪个做相片书好/值得收藏的五个搜索引擎
  • 有哪些网站交互效果做的好的/河南郑州最近的热搜事件
  • 刚做淘客没有网站/seo自媒体运营技巧
  • 天津手机网站建设/武汉网站运营专业乐云seo
  • python建立简易网站/百度推广后台登陆入口
  • 在直播网站做前端注意/推广联盟平台
  • 找深圳网站建设/重庆seo排名方法
  • 芍药居网站建设公司/山西网络营销seo
  • 学软件开发的网站/seo优化排名百度教程
  • 免费自制app软件平台/长沙官网seo技术
  • 怎么样自己做百度网站/谷歌官网
  • 网站建设 中企动力公司/百度贴吧官网入口
  • 怎么查找网站建设/sem是什么公司
  • 北京百姓网/二十条优化
  • 网站备案换公司吗/营销型网站建设设计
  • 怎么看网站建设时间/百度如何免费推广
  • 网站开发大学/傻瓜式自助建站系统
  • 义乌最好的电商培训学校/谷歌seo外包
  • 网站无icp备案/品牌活动策划
  • 做用户运营应该关注哪些网站/微信营销推广
  • 网站推广软件哪个最实惠/网站seo优化检测
  • 北京市住房和城乡建设委员会网站官网/360推广
  • 学校定制网站建设公司/苏州百度快速排名优化
  • 网站信息系统/制作网站首页