什麼樣子我做DataConvert.ToThema()發生的窗簾後面,當我包括一個函數到我的編譯的查詢,這裏的表對象轉換成我的自定義業務對象:包括「離線」的代碼編譯querys
public static class Queries
{
public static Func<MyDataContext, string, Thema> GetThemaByTitle
{
get
{
var func = CompiledQuery.Compile(
(MyDataContext db, string title) =>
(from th in elan.tbl_Thema
where th.Titel == title
select DataConvert.ToThema(th)).Single()
);
return func;
}
}
}
public static class DataConvert
{
public static Thema ToThema(tbl_Thema tblThema)
{
Thema thema = new Thema();
thema.ID = tblThema.ThemaID;
thema.Titel = tblThema.Titel;
// and some other stuff
return thema;
}
}
,並調用它
Thema th = Queries.GetThemaByTitle.Invoke(db, "someTitle");
顯然,功能沒有到SQL或翻譯的東西(這怎麼可能呢),但它也當我在VS2010中設置斷點有不成立。
它工作沒有問題,但我不明白如何或爲什麼。那裏發生了什麼?
LINQ to EF不能做到這一點。 – 2011-04-15 10:06:39