감사의 도움을 주셔서 감사합니다!Linqdatasource 필터 게시자 데이터베이스 검색
매우 간단히 말해서 LinqToSql을 사용하여 데이터베이스에서 연락처 집합을 호출합니다. "FirstName"및 "LastName"열 두 개가 암호화됩니다.
나는 포함 된 코드에서 볼 수있는대로 즉시 해독합니다. 그러나 LastName을 기준으로 필터링하려고합니다. 문제는 문에서 비교를 수행하면 암호화 된 값과 텍스트 값을 비교하는 것입니다.
어떻게 든 내 gridview에 대한 결과 데이터를 가져와야합니다. 그런 다음 데이터베이스 값을 기반으로하지 않고 사실 이미 필터링 한 데이터 (및 해독 된 데이터)를 필터링합니다.
아이디어 ?? 감사!
protected void ContactsLDS_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
DatabaseDataContext db = new DatabaseDataContext();
MyAES aes = new MyAES();
var v1 = from s in db.Contacts
select new Contact()
{
ContactId = s.ContactId,
FirstName = (s.FirstName == null ? "" : aes.DecryptString(s.FirstName)),
LastName = (s.LastName == null ? "" : aes.DecryptString(s.LastName)),
};
e.Result = v1;
}
암호를 해독하고 일반 텍스트와 비교하는 대신 비교하려는 성을 암호화하고 암호화 할 수 있습니까? 뭔가 같은 .Where (w => w.LastName == aes.EncryptString (LastNameToTestFor); – nycdan
ahh - 그때를 제외하고는 정확한 일치 검색을 수행해야합니다. 'starts-with'를 사용할 수 있어야합니다. 이름의 첫 글자를 기반으로 필터링하는 등의 생각에 감사드립니다! – localman