連絡先テーブルから連絡先レコードを返したいのですが、連絡先の電子メールアドレスが有効な場合のみです。したがって、次のようなものです。
var contacts = (from cont in db.Contacts
where cont.Accounts_CustomerID == accountId
&& ValidEmail(cont.EmailAddress)
select new ContactLight
{
AccountId = cont.Accounts_CustomerID,
FirstName = cont.Firstname,
LastName = cont.Lastname,
EmailAddress = cont.EmailAddress
});
private static bool ValidEmail(string email)
{
if(email == "")
return false;
else
return new System.Text.RegularExpressions.Regex(@"^[\w-\.]+@([\w-]+\.)+[\w-]{2,6}$").IsMatch(email);
}
「メソッド'BooleanValidEmail(System.String)'にはSQLへの変換がサポートされていません」というメッセージが表示されます。したがって、正規表現を使用したメソッドは変換できないと思います。これを回避する最善の方法は何ですか?