返回
C#使用EntityFrameworkCore ORM方式操作MongoDB数据库
2024-05-04
961 0Entity Framework Core Provider 通过将数据映射到 .NET 对象来简化对 MongoDB 集群中数据的操作。
MongoDB Atlas 是一种完全托管的云数据库服务,可在 MongoDB 集群上托管您的数据。在本指南中,我们将向您展示如何开始使用您自己的免费(无需信用卡)集群。
按照以下步骤将 Entity Framework Core Provider 应用程序连接到 MongoDB Atlas 集群。
MongoDB.EntityFrameworkCore安装
dotnet add package MongoDB.EntityFrameworkCore --prerelease
BaseDbContext基类
public class BaseDbContext: DbContext
{
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
var connectionString = "mongodb://localhost:27017";
optionsBuilder.UseMongoDB(connectionString, "sample_mflix");
}
}
Collection DbContext操作类
internal class MflixDbContext : BaseDbContext
{
public DbSet<Movie> Movies { get; init; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Movie>().ToCollection("movies");
}
}
Collection实体类
internal class Movie
{
public ObjectId _id { get; set; }
public string title { get; set; }
public string rated { get; set; }
public string plot { get; set; }
}
查询Collection数据
var db = new MflixDbContext();
List<Movie> listMovie = db.Movies.Where(m => m.title == "Pluto").ToList();
Console.WriteLine(listMovie[0].plot);
删除Collection数据
var db = new MflixDbContext();
db.Movies.rtRemove(listMovie[0]);
db.SaveChanges();
插入Collection数据
db.Movies.Add(new Movie()
{
title = "Pluto",
rated = "ia",
plot = "asdd",
});
db.SaveChanges();
批量插入Collection数据
var movies = new[]
{
new Movie()
{
_id = ObjectId.GenerateNewId(),
title = "Pluto1",
rated = "ia1",
plot = "asdd1",
},
new Movie()
{
_id = ObjectId.GenerateNewId(),
title = "Pluto2",
rated = "ia2",
plot = "asdd2",
}
};
db.Movies.AddRange(movies);
db.SaveChanges();
更新Collection数据
Movie movie = db.Movies.Where(m => m.title == "Pluto").FirstOrDefault();
movie.title = "更新数据";
db.Movies.Update(movie);
db.SaveChanges();
静态运行效果图
参考文档
https://www.mongodb.com/docs/entity-framework/current/quick-start/
您可能感兴趣:
阿里云 云服务器 99元1年 2核2G 3M固定带宽 续费与新购同价
领取 通义灵码 免费使用资格 兼容 Visual Studio Code、Visual Studio、JetBrains IDEs 等主流编程工具, 为你提供高效、流畅、舒心的智能编码体验!
网友点评
提交