返回数组/列表类型函数的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,我的代码开始工作。但是我不想删除这个
婚姻状态和其他实体之间有什么关系吗?也许您应该将它们包含在结果中或显式加载它们?
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;-)