DBにレコードが存在するかどうかを確認したい。null/空白をチェックしてから、どこでも文字列比較を行っています。関数を入れたいので、同じコードを何度も書く必要はありません。
比較しているそれぞれのコードは次のようになります...
return Db.AttributeNames.FirstOrDefault(an =>
(!string.IsNullOrWhiteSpace(an.Name) &&
string.Compare(attributeName.Name, an.Name, StringComparison.OrdinalIgnoreCase) == 0) &&
(!string.IsNullOrWhiteSpace(an.Namspace) &&
string.Compare(attributeName.Namespace, an.Namspace, StringComparison.OrdinalIgnoreCase) == 0));
私はこのようなことを試しました...明らかに正しくありません。
public Class1 Get(string url)
{
return Db.Class1s.FirstOrDefault(f => Equal<Class1>(f.Value, url));
}
public static Expression<Func<T, bool>> Equal<T>(string input, string url)
{
return a => input == url; // just to test for now, I need to add null/ws check and do compare
}
分かってる。私は自分が何をしているのかわかりません..でも、助けていただければ幸いです!