Your mapping to French_CI_AS is case insensitive, accent-sensitive. If you want the query for “marches” to match “marches,” you need French_CI_AI as a match. In most languages, this is NOT what native speakers want, because emphasis is semantically important, but it may depend on circumstances or context.
If, in fact, your users always want to search without emphasis, you should set this AI mapping property instead of AS to the table (or certain fields). Otherwise, if necessary, you can apply a table mapping in MS Sql for each query; keep in mind that if there is no index for this sorting, there can be a significant execution cost. This can be almost irrelevant if you make the request% wildcard%, however, since in any case you will have a full table scan in this case.
The last thing I checked was not able to directly specify the sort in the Linq query, so if you are case-insensitive on a one-time basis, you will need to use the direct-to-sql query through your data context.
Edited: Based on your comment, it looks like you are allowing HTML content to be stored in your database. You have numeric character references in your table that SQL Server knows nothing about, since they are characteristics of HTML, XML, and SGML. You can only do this for search if these characters are string literals in a suitable encoding.
NVARCHAR will save the contents in Unicode, in particular UTF-16, and VARCHAR will use Windows-1252 with a French mapping.
If you accept this input through web forms, make sure the page encoding is suitable. If you only support modern browsers (basically something IE5 +), UTF-8 is well supported, so you should consider using UTF-8 for all your requests and responses.
Make sure your web.config has something like this:
<configuration> <system.web> <globalization requestEncoding="utf-8" responseEncoding="utf-8" /> </system.web> </configuration>
If you already have data stored with these numeric symbolic links in your database, you can delete them by translating & #ddddd; in the literal sequences of UTF-16, and save them again. Make sure you don't accidentally release semantically important NCRs, such as larger code pages or ampersands.