private void InsertLinks(IEnumerable<string> urls)
{
EntityDataModelContext context = DataContext.GetDataContext();
foreach (string url in urls)
{
string url1 = url;
if (context.Links.Any(l => MatchUrlHash(l.UrlHash, url1)))
{
continue;
}
Link link = new Link
{
Url = url,
};
context.Links.AddObject(link);
}
context.SaveChanges();
}
private bool MatchUrlHash(long urlHash, string url)
{
SHA1CryptoServiceProvider sha = new SHA1CryptoServiceProvider();
byte[] encoded = Encoding.ASCII.GetBytes(url);
byte[] checksum = sha.ComputeHash(encoded);
long hash = BitConverter.ToInt64(checksum, 0);
return urlHash == hash;
}
가 어떻게 아직도 상당히 수행하고 NotSupportedException
의를 포기하지 않는 무언가에이 쿼리를 변환 할 수있는이 간단한 쿼리 작업을 만드는 방법?LINQ는
를 다시 .. 모든 레코드를 끌어 다음 사용자 지정 논리
context.Links.ToList().Any(l=>MatchUrlHash(l.UrlHash, url1))
아니를 실행 중. –