アプリに検索機能があります。それが機能する方法は、ユーザーがレコードをプルアップし、レコードから名、姓、生年月日をLINQクエリに渡す検索ボタンをキット化することです。LINQクエリは、一致する可能性のあるものを提供することになっています。今のところ、それはあまりにも多くの結果をもたらします。生年月日を正確に一致させたいのですが、名前と名前の一致が多少緩くなる可能性があります。完璧な世界では、結果は次のようになります。
- DOBと完全に一致
- 名にあいまい一致
- 厳密ではありませんが、名前に一致します。
たとえば、1974年11月27日生まれのJames Mayを検索している場合、次のような結果が必要です。
ジム1974年5月11/27
ジャック1974年5月11/27ジェームスメイフォード1974年11月27日
最良の方法はストアドプロシージャであることを知っていますが、それを試してみました。ストアドProcをプロジェクトに追加するたびに、EDMXファイルが破損したため、LINQでそれを実行できなくなりました。
これが私がこれまでに持っているものです:
var query = from p in _Elig_DB.PersonAttributes.ToList()
where p.getDateOfBirth == DOB &&
p.FirstName.Contains(FName) || p.FirstName.StartsWith(FName) &&
p.LastName.Contains(LName) || p.LastName.StartsWith(LName)
select p;
これにより、次のような結果が得られます。
Ileana May 10/30/1967
Kristina May 4/23/1971
margaret Mayberry 7/26/1942
Karla Mayorga 5/14/1986
Stan Mayer 3/8/1952
Lori Maynard 7/22/1965
したがって、姓は良いですが、生年月日はそのように変わるべきではありません。読んでくれてありがとう。