我有一個類,用戶。Linq to SQL DynamicInvoke(System.Object [])'不支持轉換爲SQL
用戶有一個用戶ID財產。
我有一個看起來像這樣的方法:
static IQueryable<User> FilterById(this IQueryable<User> p, Func<int, bool> sel)
{
return p.Where(m => sel(m.UserId));
}
不可避免的是,當我打電話的功能:
var users = Users.FilterById(m => m > 10);
我得到以下異常:
方法'System.Object DynamicInvoke(System.Object [])'沒有 支持翻譯爲SQ L.
有沒有解決這個問題的方法? Expression.KillMeAndMyFamily()的兔子洞可能要走多遠?
澄清爲什麼我這樣做:我使用T4模板自動生成一個簡單的存儲庫和一個管道系統。管道,而不是寫在:
new UserPipe().Where(m => m.UserId > 10 && m.UserName.Contains("oo") && m.LastName == "Wee");
我想產生類似:
new UserPipe()
.UserId(m => m > 10)
.UserName(m => m.Contains("oo"))
.LastName("Wee");
+1 for Expression.KillMeAndMyFamily() – BenDundee 2013-01-19 00:30:13