今仕事でASP.NET MVC3とEntity Frameworkを使っていまして。
EFで作ったコレクションとコレクションの比較をLINQで書いてみました。
contents.Where(_ => sites[0].Urls.Select(url => url.UrlString).Contains(_.Url, comp))
contentsってのはUrlフィールドを持つContentクラスの集合で、
sitesってのはUrlsというフィールドを持つSiteクラスの集合。
そしてUrlはUrlStringというフィールドを持つクラス。
ただしContent側のUrlはただのString(紛らわしい)
こいつをStartsWithで比較したかったので上記の様に書いてみた。
compはIEqualityComparerを実装したクラス。やってるのはただのStartsWith。
投稿日時 : 2012年1月19日 16:14