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

MongoDB EF Core 提供程序中的可查询加密和向量搜索

ngoDB Entity Framework (EF) Core 提供程序自 2024 年 5 月起正式发布。自发布以来,我们欣喜地看到 .NET 开发人员社区给予了积极的反馈,并且该提供程序在各种应用程序中得到了越来越广泛的采用。

该提供商使开发人员能够利用 LINQ 查询、更改跟踪和乐观并发等 EF Core 功能,将 MongoDB 无缝集成到他们的 .NET 项目中,同时利用 MongoDB 的灵活性和可扩展性。

我们持续增强提供程序的功能,新增了诸多特性,例如改进了对 MongoDB 特定操作的支持、优化了性能,并扩展了与最新 EF 版本的兼容性。这些更新体现了我们致力于为开发者提供强大、直观且可靠的方式,让他们能够使用 MongoDB 和 EF Core 构建现代应用程序的承诺。

我们很高兴地宣布两项新增的重大功能——可查询加密和向量搜索!这些功能让您可以直接通过便捷的 API 从 MongoDB EF Core 提供程序利用一些重要的 MongoDB 功能,而无需依赖底层的 .NET C# 驱动程序。

让我们先睹为快,看看它们长什么样。

MongoDB 可查询加密

可查询加密是一项突破性功能,它允许您加密 MongoDB 数据库中的敏感数据,同时仍然能够查询这些数据。这意味着您可以在不牺牲查询能力的前提下,维护强大的数据隐私和合规性。

对于医疗保健和金融等数据治理要求严格的行业来说,这一点尤其重要。

对于用户而言,这意味着更高的安全性、更低的数据泄露风险和更简化的合规工作,因为他们可以自信地对静态数据和传输中的数据进行加密,而无需重新设计应用程序架构来查询加密字段。

配置数据模型以定义加密属性DbContext非常OnModelCreating简单,如下所示:

protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity<Employee>(entity => { entity.Property(e => e.TaxPayerId) .IsEncryptedForEquality(<Your Data Encryption Key GUID>)); entity.Property(e => e.Salary) .HasBsonRepresentation(BsonType.Decimal128) // Salaries from 0 to 10 million, no decimal place precision .IsEncryptedForRange(0m, 10000000m, 0, <Your Data Encryption Key GUID>)); }); }

下面简要展示一下相等性查询和范围查询的工作原理:

//Encrypted Equality Query var specificEmployee = db.Employees.Where(e => e.TaxPayerId == "45678"); //Encrypted Range Query var seniorEmployees = db.Employees.Where(e => e.Salary >= 100000m && e.Salary < 200000m);

完整的教程将向您展示如何使用 MongoDB EF Core 提供程序加密数据并进行查询。

MongoDB 向量搜索

向量搜索彻底革新了查找和分析非结构化数据的方式,它支持基于语义而非精确关键词的相似性搜索。这项功能由向量嵌入技术驱动,该技术将数据点(例如文本、图像或音频)表示为高维空间中的数值向量。

向量搜索的重要性在于它能够为人工智能应用(如推荐引擎、语义搜索和异常检测)开启新的可能性。

对于用户而言,这意味着更智能、更相关的搜索结果,能够直接在 MongoDB 数据上构建复杂的 AI 应用程序,以及更深入地了解其非结构化信息。

OnModelCreating以下代码块展示了如何轻松地在函数或数据模型类本身中设置带有向量嵌入字段的数据模型:

//Inside the OnModelCreating function b.Property(e => e.PlotEmbedding) .HasElementName("plot_embedding_voyage_3_large") .HasBinaryVectorDataType(BinaryVectorDataType.Float32); // OR In the data model definition for the property [BinaryVector(BinaryVectorDataType.Float32)] public float[] ? PlotEmbedding {get; set;}

完成上述配置并拥有运行向量搜索查询所需的适当向量索引后,使用您的数据运行查询就非常简单,如下所示:

//Simple LINQ Vector Search query var similarMovies = await db.Movies.VectorSearch( e => e.PlotEmbedding, myCustom.PlotEmbedding, limit: 10) .ToListAsync();
http://www.jsqmd.com/news/598016/

相关文章:

  • AutoCAD二次开发避坑指南:手把手教你选对.NET、VS和CAD版本(2025版)
  • 每日一问-20260405--戴尔显示器型号命名速查表
  • 生态廊道构建实战指南(1)—Linkage Mapper与Circuitscape环境部署详解
  • 3分钟让邮件排版变轻松:Markdown Here如何帮你告别格式烦恼
  • 3个维度解决暗黑3操作痛点:D3KeyHelper智能操作助手全面解析
  • Win10-11系统日志深度解析:追踪ShellExperienceHost触发的DCOM权限警告与音频服务关联
  • Higress AI 网关 MCP Server 实战:Docker 环境下的 REST API 集成指南
  • Odoo 19 AI功能实战:不用写代码,用自然语言就能自动化你的业务流程
  • [具身智能-250]:吾生也有涯,而知也无涯:深度学习的“模糊”智慧与泛化本质
  • 快速验证vmware16密钥格式?用快马三步生成在线检测工具原型
  • B站视频下载实战指南:解锁大会员4K画质的本地保存方案
  • sqlbot智能问数使用简介
  • 新手零基础入门:基于快马生成的vscode下载安装与初体验指南
  • 阶跃星辰 GUI-MCP 解读---(2)---决策层
  • 【渗透测试】玄机Maze 全过程wp
  • Win11 23H2任务栏Copilot图标消失?别慌,一个注册表文件+两步设置帮你永久找回
  • 告别锯齿!用TextMeshPro Sprite Asset实现完美像素字体的5个关键步骤
  • HunyuanVideo-Foley保姆级教程:Docker Compose编排WebUI+API+Redis缓存
  • HP Z440工作站BIOS配置优化:无需重启的服务器系统内修改指南
  • AI赋能开发:让快马平台智能处理9·1素材的标签与推荐
  • Win11Debloat:通过系统精简与优化实现Windows性能提升的自动化方案
  • LPDDR5 Bank架构深度解析:从Prefetch到Burst的效能密码
  • 小白也能懂:CYBER-VISION零号协议在智能导盲中的应用解析
  • 5分钟快速上手BepInEx:Unity游戏插件开发的终极解决方案
  • 轻资产创业指南:从0到月入10万的系统搭建与被动收入实现方法论
  • 数据结构之伸展树(Splay Tree)详解
  • 如何用三步法破解RPG Maker MV/MZ加密资源?技术实现与实战指南
  • 耐热抗损伤的高功率连续波激光组件让光学元件保持“冷”状态
  • CMOS迟滞比较器仿真陷阱:从瞬态延时到直流扫描的迟滞宽度真相
  • PX4软件在环仿真初体验:用jmavsim和QGC让无人机在电脑里先飞起来