返回数组/列表类型函数的WCF在ASP.返回类型与Linq到实体类类型相同的.NET页面

本文关键字:类型 Linq 实体 页面 NET ASP 列表 数组 函数 WCF 返回 | 更新日期: 2023-09-27 18:15:36

我想使用WCF服务访问表的数据。

我的代码是:

表名为marital_status,与其他表有关系

    [OperationContract] 
    marital_status[] GetMartialStatus();
    public marital_status[] GetMartialStatus()
    {
        using (HREntities context = new HREntities())
        {
            marital_status[] obj = context.marital_status.ToArray();
            return obj;
        }
    }

当我尝试使用这个:

  List<marital_status> asd =   EntityService.ServiceInstance.GetMartialStatus().ToList();

我得到了上下文不再可用的错误。

我使用的是数组,那么应该没有任何问题。

请注意:我不想创建数据合同等。因为Linq to Entities已经公开了表的类。

感谢您的帮助

更新:

如果我在代码中明确地删除LAZY LOADING = false,我的代码开始工作。但是我不想删除这个

返回数组/列表类型函数的WCF在ASP.返回类型与Linq到实体类类型相同的.NET页面

婚姻状态和其他实体之间有什么关系吗?也许您应该将它们包含在结果中或显式加载它们?

marital_status[] obj = context.marital_status.Include("other_relation").ToArray();

foreach(var ob in obj)
    ob.Load(relation);

如果您修改数据,您可能还想尝试context.marital_status.MergeOption(MergeOption.NoTracking);

顺便说一句,你的方法命名为Martial,关系是Marital;-)