是否可以在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