Вы можете попробовать использовать функции магазина.Ладислав Мрнка подробно объясняет их на этом вопросе .
По сути, вы определите Contains в EDMX и расскажете EF, как он сопоставляется с тем, что понимает SQL Server (примечание: в моемНапример, я называю это FullTextContains
, чтобы его не перепутать с методом Contains в C # - я не уверен, нужно ли это или нет):
<Function Name="FullTextContains" ReturnType="Edm.String">
<Parameter Name="field" Type="Edm.String" />
<Parameter Name="value" Type="Edm.String" />
<DefiningExpression>
Contains(field, value)
</DefiningExpression>
</Function>
Затем вы создаете метод-заглушку в C #, такВы можете вызвать его через Linq:
public static class EdmFunctions
{
[EdmFunction("YourModel", "FullTextContains")]
public static string FullTextContains(string field, string value)
{
throw new NotSupportedException("This function is only for L2E query.");
}
}
Тогда вы сможете использовать этот метод в запросе Linq, и EF должен правильно его перевести.