本文共 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中我们可以看到,全文索引创建成功:
注意事项
.IsFullText()不可和.IsUnique()同时使用。
InnoDB引擎的用户使用本功能需要MySQL 5.6或更高版本
转载地址:https://blog.csdn.net/weixin_32050033/article/details/113477544 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!