我想包住SqlFunctions.IsNumeric函數,這樣我可以在其他層使用它,而無需添加參考System.Data的IsNumeric函數(不管原因)。
這裏是我做過什麼 - 在我的倉庫接口:裹SqlFunctions
public interface IUtils
{
Expression<Func<bool>> IsNumeric(string str);
}
在我的EF層:
public class EFUtils : IUtils
{
public Expression<Func<bool>> IsNumeric(string str)
{
return() => SqlFunctions.IsNumeric(str) == 1;
}
}
在我的生意後:
public class RepositoryUtils
{
protected static IUtils Utils { get; set; }
static RepositoryUtils()
{
Utils = ObjectFactory.GetInstance<IUtils>(); //Using structureMap
}
public static Expression<Func< bool>> IsNumeric(string str)
{
return Utils.IsNumeric(str);
}
}
的問題是,現在之後,我公開的方法,我真的不知道如何使用它..
這是事端g像:
Customers.OrderBy(x=>**Order by is numeric on x.Name);
任何想法?
對不起,我不知道,但你能告訴我頭朝下的「=>」之稱,它有什麼作用?我沒有看到這個語法。 – mikey 2011-06-02 00:20:31
@mikey:它實際上是λ表達式是句法suagr到代表語法。更多信息:http://msdn.microsoft.com/en-us/library/bb397687.aspx – Naor 2011-06-02 00:23:57