暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

面试必备:谈谈对Entity Framework (EF) Core的认识?

DotNet开发跳槽 2021-07-22
829

简述:

Entity Framework (EF) Core 是轻量化、可扩展、开源和跨平台版的常用 Entity Framework 数据访问技术。

EF Core 可用作对象关系映射程序 (O/RM),这可以实现以下两点:

  • 使 .NET 开发人员能够使用 .NET 对象处理数据库。

  • 无需再像通常那样编写大部分数据访问代码。

EF Core 支持多个数据库引擎。

扩展:

 EF Core使用分为三个块,1是创建模型,2是查询模型,3是保存数据,可以增删改。

模型

对于 EF Core,使用模型执行数据访问。模型由实体类和表示数据库会话的上下文对象构成。上下文对象允许查询并保存数据。有关详细信息,请参阅创建模型。

EF 支持以下模型开发方法:

  • 从现有数据库生成模型。

  • 对模型手动编码,使其符合数据库。

  • 创建模型后,使用 EF 迁移从模型创建数据库。模型发生变化时,迁移可让数据库不断演进。

链接数据库 并创建模型:

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

namespace Intro
{
public class BloggingContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
public DbSet<Post> Posts { get; set; }

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(
@"Server=(localdb)\mssqllocaldb;Database=Blogging;Integrated Security=True");
}
}

public class Blog
{
public int BlogId { get; set; }
public string Url { get; set; }
public int Rating { get; set; }
public List<Post> Posts { get; set; }
}

public class Post
{
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; }
}
}

查询

使用语言集成查询 (LINQ) 从数据库检索实体类的实例。 

查询:

using (var db = new BloggingContext())
{
var blogs = db.Blogs
.Where(b => b.Rating > 3)
.OrderBy(b => b.Url)
.ToList();
}

保存数据

使用实体类的实例在数据库中创建、删除和修改数据。 

保存数据:

using (var db = new BloggingContext())
{
var blog = new Blog { Url = "http://sample.com" };
db.Blogs.Add(blog);
db.SaveChanges();
}

引用:https://docs.microsoft.com/zh-cn/

版权申明:本文来源于网友收集或网友提供,仅供学习交流,如果有侵权,请转告版主或者留言,本公众号立即删除。


支持小微:

腾讯云 搞活动了?玩服务器的可以搞搞。就这几天时间。

云服务器限时秒杀,1核2G 首年95元!

链接:https://curl.qcloud.com/RX2amrlR


右下角,您点一下在看图片

小微工资涨1毛

商务合作QQ:185601686






文章转载自DotNet开发跳槽,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论