Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在wcf中使用动态linq?_Wcf_Linq_Dynamic - Fatal编程技术网

如何在wcf中使用动态linq?

如何在wcf中使用动态linq?,wcf,linq,dynamic,Wcf,Linq,Dynamic,我使用linq to entity动态检索数据,并创建了如下方法: public List<object> getDynamicList(string tablename, List<string> colnames) { try { var query = DynamicQueryable.getDynamicData(dbcontext, tablename, colnames); List<object>

我使用linq to entity动态检索数据,并创建了如下方法:

public List<object> getDynamicList(string tablename, List<string> colnames)
{
    try
    {
        var query = DynamicQueryable.getDynamicData(dbcontext, tablename, colnames);
        List<object> objQueryable = new List<object>();
        object obj = query.AsQueryable();
        objQueryable.Add(obj);
        return objQueryable;
    }
    catch (Exception ex)
    {
        HandleError(ex);
    }
}
public List getDynamicList(字符串tablename,列表colnames)
{
尝试
{
var query=DynamicQueryable.getdynamicata(dbcontext、tablename、colnames);
List objQueryable=新列表();
object obj=query.AsQueryable();
objQueryable.Add(obj);
返回objQueryable;
}
捕获(例外情况除外)
{
HandleError(ex);
}
}
wcf服务中的此方法在内部引用MSVS2010在LINQ示例(C:\Program Files(x86)\Microsoft Visual Studio 10.0\samples\1033)中给出的动态类

当我传递tablename时,它会动态传递,但在客户端,当使用该方法时,它会给出错误-服务器没有提供有意义的回复;这可能是由于契约不匹配、会话过早关闭或内部服务器错误造成的。 wcf是否对iqueryable返回类型存在问题


请建议……

您应该研究WCF数据服务(也称为oData服务)

尝试使用返回ToList(),因为Linq使用Deffer加载的概念,这意味着当在客户端ToList或Result被访问时,它尝试连接到服务器以获得结果,而这正是它失败的地方。建议您在使用此类ORM时分离对象并将结果发送给客户端。

请发布您看到的整个错误消息,包括错误消息和堆栈跟踪。这将使您更容易理解您遇到的问题。现在,我发现错误为-无法将类型“DynamicClass1”强制转换为类型“System.Object”。LINQ to Entities仅支持转换实体数据模型基元类型。无法将类型“DynamicClass1”转换为类型“System.Object”。LINQ to Entities仅支持转换实体数据模型基元类型。