回答

收藏

LINQ to SQL SOUNDEX-可能吗?

技术问答 技术问答 197 人阅读 | 0 人回复 | 2023-09-13

我对此进行了一些研究,并浏览了StackOverflow上的一些文章以及一些博客文章,但是没有找到确切的答案。我还读到可以使用4.0框架来实现,但尚未找到任何支持证据。+ C1 E! A% k' L, T$ G+ h" K
所以我的问题是,是否可以通过LINQ to SQL查询执行SOUNDEX?
( t+ F/ X+ L7 u$ n, z4 d: E1 i8 A                " `1 A1 s+ u" e
解决方案:
; B* G/ k" x8 y: w! S6 Y               
5 t8 G3 w7 ]: M7 R6 l) ^! }7 @4 B0 k2 [$ O

# \2 i" N+ x  X                您可以通过使用伪造的UDF在数据库上执行此操作;在部分类中,向数据上下文添加一个方法:8 x" z% b& z' l8 _3 q2 K: g
[DbFunction(Name = "SoundEx", IsComposable = true)]
+ }6 u3 s' m4 y# N+ R: V0 |% M( npublic string SoundsLike(string input)
  K! U) M: M9 }7 z! U9 ^9 L{3 [4 l. o1 ?: S5 z* o+ W
    throw new NotImplementedException();5 P2 R* }1 I% k. K" x# D& O) ?( T
}. q, w% |& b+ q5 k9 ]
您可以使用像这样的表达式:
% t' M3 K- \* G& B! K: p1 M% gx => db.SoundsLike(x.QuoteValue) == db.SoundsLike("text")
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则