efcore怎么去查询集合的交集?

实体类:

public class data{
public string[] tags{get;set;}
}

OnModelCreating重写:

modelBuilder.Entity<data>().Property(a => a.tags).HasConversion(v => string.Join(',', (v)),
v => string.IsNullOrWhiteSpace(v) ? null : v.Split(',', StringSplitOptions.RemoveEmptyEntries));

筛选查询:

var tgs=new string[]{"test","other"};
var query=DbContext.Set<data>().where(d=>tgs.Intersect(d.tags).Count()>0);

执行后报错:the linq expression could not be translated.

尝试过这样也是报错:

var tgs=new string[]{"test","other"};
var query=DbContext.Set<data>().where(d=>tgs.Intersect(d.tags).ToList().Count>0); 

回答

var like = _articleLikesRepository.Table.ToList().Where(x => x.FromUsersId == userId && x.FromArticlesId == articleId).Count();
if (like < 1)
我查表的时候是这么查的 没查过集合 希望对你有帮助吧

以上是efcore怎么去查询集合的交集?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>