当前位置:  开发笔记 > 编程语言 > 正文

喜欢Linq to SQL

如何解决《喜欢LinqtoSQL》经验,为你挑选了1个好方法。

我有一个方法需要接受一个国家/地区名称数组,并返回与其中一个国家/地区名称匹配的记录列表.我正在尝试这个

Public Shared Function GetConcessions(ByVal Countries As String()) As IEnumerable
    Dim CountryList As String = Utility.JoinArray(Countries) ' turns string array into comma-separated string
    Return (From t In New Db().Concessions _
                    Where CountryList Like t.Country _
                    Select t.ConcessionID, t.Title, t.Country)
End Function

但是我得到了这个错误

  *Only arguments that can be evaluated on the client are supported for the LIKE method

在纯SQL中,这很简单:

 Select ConcessionID,Title from Concessions c where @CountryList like '%' + c.Country + '%'

如何在Linq to SQL中实现此结果?

编辑(澄清)

我用string.Contains得到了相同的消息.没关系

t.Country.contains(CountryList)

但是我需要

CountryList.contains(t.Country) 

并抛出我上面列出的相同错误.



1> sepang..:

您可以使用SqlMethods.Like

例如

Where SqlMethods.Like(t.country, "%Sweden%")

推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有