是否可以在DataContext上创建扩展方法,而不是在datacontext中的表上,而是直接在dataContext上创建扩展方法,以动态获取表。
例如:
DataContext dc = new DataContext();
var test = from a in dc.myExtensionMethod(args) select a;
ps:我已经知道dc.GetTAble
和dc.GetTable<T>
答案 0 :(得分:2)
这是可能的,但由于该类是部分的,您只需在不同的文件中添加您的方法
答案 1 :(得分:2)
示例:
namespace System.Data.Linq
{
public static class DataContextExtensions
{
public static bool IsConnected(this DataContext context)
{
return (context.Connection.State == ConnectionState.Open);
}
}
}
答案 2 :(得分:2)
这样的事情应该有效:
public static IQueryable myExtensionMethod(this DataContext dc)
{
...
}
答案 3 :(得分:2)
我不确定你的args是什么,或者你是否想要匹配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
}
}
}