繁体   English   中英

数据上下文Linq到sql的扩展方法

[英]Extension method on datacontext Linq to sql

是否可以在DataContext上(而不是在datacontext中的表上)而是直接在dataContext上创建扩展方法来动态获取表。

例如:

DataContext dc = new DataContext();

var test = from a in dc.myExtensionMethod(args) select a;

ps:我已经知道dc.GetTAbledc.GetTable<T>

有可能,但是由于类是局部的,因此您可以简单地将方法添加到其他文件中

例:

namespace System.Data.Linq
{
    public static class DataContextExtensions
    {
        public static bool IsConnected(this DataContext context)
        {
            return (context.Connection.State == ConnectionState.Open);
        }

    }
}

这样的事情应该起作用:

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
         }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM