我可以从另一个DataContext中调用一个Method吗?

时间:2009-09-24 15:51:56

标签: c# linq linq-to-sql datacontext

我有以下LINQ查询,我想补充护士姓名。不幸的是,它们存储在一个单独的DB中,因此是一个单独的DataContext。

如何使用aspnetdbcontext从此查询调用cmodatacontext中的方法?

这是aspnetdb中获取护士姓名的方法:

    internal static AspnetdbDataContext context = new AspnetdbDataContext();

    public static IList WorkerList(Guid userID)
    {
        IList theWorkers;
        using (context)
        {
            var workers = from user in context.tblDemographics
                          where user.UserID == userID
                          select new { user.FirstName, user.LastName, user.Phone };
            theWorkers = workers.ToList();
        }
        return theWorkers;
    }

这是CMO中我调用绑定到DataGridView的方法:

    public static DataTable GetAllMembers(Guid workerID)
    {
        DataTable dataTable;

        using (context)
        {
            var AllEnrollees = from enrollment in context.tblCMOEnrollments
                               where enrollment.CMOSocialWorkerID == workerID || enrollment.CMONurseID == workerID
                               from supportWorker in context.tblSupportWorkers 
                               where supportWorker.SupportWorkerID == enrollment.EconomicSupportWorkerID
                               select
                                   new
                                       {
                                           enrollment.ADRCReferralID,
                                           enrollment.ClientID,
                                           enrollment.CMONurseID,
                                           enrollment.CMOSocialWorkerID,
                                           enrollment.DisenrollmentDate,
                                           enrollment.DisenrollmentReasonID,
                                           supportWorker.FirstName,
                                           supportWorker.LastName,
                                           supportWorker.Phone,
                                           enrollment.EnrollmentDate
                                       };

            dataTable = AllEnrollees.CopyLinqToDataTable();
        }
        return dataTable;
    }

我如何一起工作?

谢谢!

1 个答案:

答案 0 :(得分:0)

您只需要创建两个DataContext对象,检索第一个数据上下文中对象中的数据,并将该数据复制到另一个数据上下文中的新对象和SubmitChanges()。