pomelo mysql_全文索引 - Pomelo.EFCore.MySql
发布日期:2021-06-24 10:18:47 浏览次数:3 分类:技术文章

本文共 1185 字,大约阅读时间需要 3 分钟。

原标题:全文索引 - Pomelo.EFCore.MySql

背景

全文索引:MySQL全文检索是利用查询关键字和查询列内容之间的相关度进行检索,可以利用全文索引来提高匹配的速度。

Pomelo.EntityFrameworkCore.MySql:一款第三方MySQL的Entity Framework Core驱动,在GitHub中开源,性能、功能、下载量均超过Oracle官方提供的版本。QQ群522943763。使用

全文索引在7月28日被支持,需要安装 Pomelo.EntityFrameworkCore.MySql 2.0.0-preview3-10049 或更高版本。

创建TestModel类

classTestModel{

publicGuid Id { get; set; }

publicstringText { get; set; }}

创建TestContext类,并使用Fluent API为TestModel中的Text字段添加索引以及全文索引

classTestContext: DbContext{

publicDbSet TestModels { get; set; }

protectedoverridevoidOnModelCreating(ModelBuilder modelBuilder){ base.OnModelCreating(modelBuilder); modelBuilder.Entity(e => { e.HasIndex(x => x.Text).IsFullText(); // 添加全文索引}); }

protectedoverridevoidOnConfiguring(DbContextOptionsBuilder optionsBuilder){ base.OnConfiguring(optionsBuilder); optionsBuilder.UseMySql( "server=localhost;uid=root;pwd=123456;database=fttest"); }}

即在欲添加全文索引的字段上使用.HasIndex().IsFullText()。

接下来在Main方法中调用DbContext来测试:

classProgram{

staticvoidMain(string[] args){

vardb = newTestContext(); db.Database.EnsureCreated(); Console.WriteLine( "Hello World!"); }}

在Navicat中我们可以看到,全文索引创建成功:

6f077905c4009a39eb7f504b2ba982b4.png

注意事项

.IsFullText()不可和.IsUnique()同时使用。

InnoDB引擎的用户使用本功能需要MySQL 5.6或更高版本

转载地址:https://blog.csdn.net/weixin_32050033/article/details/113477544 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:如何打开git命令窗口_win10系统如何将右键菜单中“在此处打开powershell窗口”调整为“在此处打开命令窗口”?...
下一篇:mysql 常量命名规则_详解Java编程规约(命名风格、常量定义、代码格式)

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月20日 10时24分28秒