मैं अपने एंटिटी फ्रेमवर्क मॉडल में SQL सर्वर के CONTAINS() फ़ंक्शन को आयात करने का प्रयास कर रहा हूं ताकि मैं इसे अपने LINQ प्रश्नों में उपयोग कर सकूं।SQL सर्वर के CONTAINS() को मॉडल परिभाषित फ़ंक्शन के रूप में आयात करना
मैं अपने ईडीएम को यह जोड़ लिया है:
<Function Name="FullTextSearch" ReturnType="Edm.Boolean">
<Parameter Name="Filter" Type="Edm.String" />
<DefiningExpression>
CONTAINS(*, Filter)
</DefiningExpression>
</Function>
मेरे विधि ठूंठ बनाया:
[EdmFunction("MyModelNamespace", "FullTextSearch")]
public static bool FullTextSearch(string filter)
{
throw new NotSupportedException("This function is only for L2E query.");
}
मैं इस तरह फ़ंक्शन को कॉल करने का प्रयास करें:
from product in Products
where MyModel.FullTextSearch("FORMSOF(INFLECTIONAL, robe)")
select product
निम्नलिखित अपवाद उठाया गया है:
The query syntax is not valid. Near term '*'
मुझे एहसास है कि मैंने जो फ़ंक्शन परिभाषित किया है वह सीधे पूछे जाने वाले इकाई सेट से जुड़ा हुआ नहीं है ताकि यह भी एक समस्या हो।
क्या इसे खींचने का कोई तरीका है?
संभावित डुप्लिकेट? http://stackoverflow.com/questions/224475/is-it-possible-to-use-full-text-search-fts-with-linq – Pondlife
इस प्रश्न में सुझाया गया समाधान तालिका-मूल्यवान फ़ंक्शन आयात करना है, जो कि LINQ से SQL के लिए काम करता है लेकिन इकाई फ्रेमवर्क के लिए नहीं (वर्तमान) –