Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.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
C# Linq可量化变量_C#_Xml_Web Services - Fatal编程技术网

C# Linq可量化变量

C# Linq可量化变量,c#,xml,web-services,C#,Xml,Web Services,您好,我有一个函数,它应该返回一个字符串,但现在要做的是返回我在数据库上使用的sql表达式 我做错了什么 public static IQueryable XMLtoProcess(string strConnection) { Datalayer.HameserveDataContext db = new HameserveDataContext(strConnection); var xml = from x in db.JobImports

您好,我有一个函数,它应该返回一个字符串,但现在要做的是返回我在数据库上使用的sql表达式 我做错了什么

 public static IQueryable XMLtoProcess(string strConnection)
    {
        Datalayer.HameserveDataContext db = new HameserveDataContext(strConnection);

        var xml = from x in db.JobImports
                  where x.Processed == false
                  select new { x.Content };
        return xml;

    }
这是代码示例

这是我应该得到的

<PMZEDITRI TRI_TXNNO="11127" TRI_TXNSEQ="1" TRI_CODE="600" TRI_SUBTYPE="1" TRI_STATUS="Busy" TRI_CRDATE="2008-02-25T00:00:00.0000000-00:00" TRI_CRTIME="54540" TRI_PRTIME="0" TRI_BATCH="" TRI_REF="" TRI_CPY="main" C1="DEPL" C2="007311856/001" C3="14:55" C4="CUB2201" C5="MR WILLIAM HOGG" C6="CS12085393" C7="CS" C8="Blocked drain" C9="Scheme: CIS Home Rescue edi tests" C10="MR WILLIAM HOGG" C11="74 CROMARTY" C12="OUSTON" C13="CHESTER LE STREET" C14="COUNTY DURHAM" C15="" C16="DH2 1JY" C17="" C18="" C19="" C20="" C21="CIS" C22="0018586965 ||" C23="BD" C24="W/DE/BD" C25="EX-DIRECTORY" C26="" C27="/" C28="CIS Home Rescue" C29="CIS Home Rescue Plus Insd" C30="Homeserve Claims Management Ltd|Upon successful completion of this repair the contractor must submit an itemised and costed Homeserve Claims Management Ltd Job Sheet." N1="79.9000" N2="68.0000" N3="11.9000" N4="0" N5="0" N6="0" D1="2008-02-25T00:00:00.0000000-00:00" T2="EX-DIRECTORY" T4="Blocked drain" TRI_SYSID="9" TRI_RETRY="3" TRI_RETRYTIME="0" /> 

有人能帮我吗

  • 您的方法类型为
    IQueryable
  • 您不应该直接
    返回xml
    将其转换为
    return xml.ToList()
    或任何您想要的格式(在您的示例中是
    xml.ToString()
  • 将方法类型更改为
    String

  • 如果直接返回
    xml
    它将是
    IQueryable

    类型,可能需要在返回结果之前强制执行查询,例如:

    return xml.ToList();
    

    这是必要的,因为LINQ查询是延迟执行的,也就是说,直到您实际访问结果为止。您的代码目前不执行此操作。

    我已使用此命令对其进行排序

    var xml = db.JobImports.Single(x => x.Processed == false);
    return xml.Content;
    

    我已经试过了,但是我仍然得到了返回给我的表达式,而不是选择新的{x.Content};尝试选择XElement..我相信你会得到你期望的结果