我对此进行了一些研究,并浏览了StackOverflow上的一些文章以及一些博客文章,但是没有找到确切的答案。我还读到可以使用4.0框架来实现,但尚未找到任何支持证据。
所以我的问题是,是否可以通过LINQ to SQL查询执行SOUNDEX?
您可以通过使用伪造的UDF在数据库上执行此操作;在部分类中,向数据上下文添加一个方法:
[DbFunction(Name = "SoundEx", IsComposable = true)] public string SoundsLike(string input) { throw new NotImplementedException(); }
您可以使用像这样的表达式:
x => db.SoundsLike(x.QuoteValue) == db.SoundsLike("text")