是否可以在DataContext上創建擴展方法,而不是在datacontext中的表上,而是直接在dataContext上創建動態獲取表的表單。datacontext上的擴展方法Linq to sql
例如:
DataContext dc = new DataContext();
var test = from a in dc.myExtensionMethod(args) select a;
PS:我已經知道dc.GetTAble
和dc.GetTable<T>
是否可以在DataContext上創建擴展方法,而不是在datacontext中的表上,而是直接在dataContext上創建動態獲取表的表單。datacontext上的擴展方法Linq to sql
例如:
DataContext dc = new DataContext();
var test = from a in dc.myExtensionMethod(args) select a;
PS:我已經知道dc.GetTAble
和dc.GetTable<T>
例:
namespace System.Data.Linq
{
public static class DataContextExtensions
{
public static bool IsConnected(this DataContext context)
{
return (context.Connection.State == ConnectionState.Open);
}
}
}
謝謝,我會給克里斯阿諾德的答案,因爲這是第一個回答。謝謝 – 2009-12-15 14:51:45
這是可能的,但因爲類是局部的,你可以簡單地添加你的方法在不同的文件
有點像這應該工作:
public static IQueryable myExtensionMethod(this DataContext dc)
{
...
}
我不知道你的參數表是什麼,或者,如果你想匹配GetTable的簽名,可是......
namespace System.Data.Linq
{
public static class DataContextExtensions
{
public static (Table<T>,IQueryable, whatever)
MyExtensionMethod(this DataContext context, Args args)
{
//do your magic here
}
}
}
好像你正在重新發明輪子在這裏。是否有一個特定的原因,您爲什麼不能使用GetTable? –
James
2009-12-15 15:09:59