我想查看数据库中是否存在记录。我正在检查null / whitespace,然后在任何地方进行字符串比较,我想放入一个函数,所以我不必一遍又一遍地编写相同的代码。
以下是我要比较的每件事的代码......
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
}
我知道,我知道。我不知道我在做什么......但我会感激一些帮助!
答案 0 :(得分:1)
您可能需要创建一个扩展方法:
public static class MyExtensions
{
public static bool UrlEqual(this Class1s obj, string url)
{
return obj.Value == url;
}
}
然后你可以拨打以下电话:
return Db.Class1s.FirstOrDefault(f => f.UrlEqual(url));