小编Dar*_*ler的帖子

在其他数据库产品中是否存在与MS SQL"FOR XML PATH"相同的内容?

我目前正在使用Microsoft的FOR XML PATH功能以XML格式从MS SQL Server中提取数据.我非常喜欢这个功能,但是使用特定于供应商的功能总是很不舒服.

是否有其他主要数据库供应商有类似的东西?

编辑

让我更具体地说明我正在寻找的功能类型

在MS SQL中,您可以使用此查询

SELECT so.id AS '@Id',
       so.Code AS '@Code',  
       cu.Code AS 'Customer/@Code',
       cu.Name AS 'Customer/@Name',
       (SELECT Item_Num AS '@Item',
                pa.Code AS '@PartCode'
        FROM tblSalesItem si
            LEFT JOIN tblPart pa ON pa.Id = si.Part_Id
        WHERE si.SalesOrder_ID = so.Id 
        FOR XML PATH('SalesItem') , type) 
FROM tblSalesOrder so
    JOIN tblCustomer cu ON so.customer_id = cu.ID
FOR XML PATH('SalesOrder'), ROOT('SalesOrders')
Run Code Online (Sandbox Code Playgroud)

生成这个XML

<SalesOrders>
  <SalesOrder Id="13" Code="C1002     ">
    <Customer Code="ROBERTS   " Name="Roberts Equipment  Inc." />
    <SalesItem Item="1" PartCode="FP-0001" …
Run Code Online (Sandbox Code Playgroud)

xml sql

7
推荐指数
1
解决办法
9641
查看次数

如何在reSTructuredText中抑制或禁用警告?

我正在使用Python中的CMS,它使用reStructuredText(通过docutils)来格式化内容.我的很多内容都是从其他来源导入的,通常以未格式化的文本文档的形式出现.reST对此非常有用,因为默认情况下它使一切看起来都非常清晰.

但是,我遇到的一个问题是,我在网络服务器上将警告转储到stderr 注入我的页面内容.例如,我在网页上收到如下警告:

系统消息:警告/ 2(,第296行); 反向链接

我的问题是:如何抑制,禁用或重定向这些警告?

理想情况下,我很乐意将这些内容写入日志文件中,但如果有人可以告诉我如何关闭警告并将其注入我的内容中,那么这将是完美的.

负责将reST解析为HTML的代码:

from docutils import core
import reSTpygments

def reST2HTML( str ):
    parts = core.publish_parts(
                          source = str,
                          writer_name = 'html')
    return parts['body_pre_docinfo'] + parts['fragment']
Run Code Online (Sandbox Code Playgroud)

python restructuredtext docutils

7
推荐指数
1
解决办法
682
查看次数

ASP.NET MVC API或WCF API

我正在开发一个ASP.NET MVC 3应用程序.我需要这个应用程序来使用我还需要实现的API.API应该都可以从ASP.NET MVC控制器操作和Ajax中获得.现在使用ASP.NET MVC制作API非常容易,但是可以从其他ASP.NET MVC网站操作中使用它吗?我想WCF很容易使用,因为它只是一个服务参考.

API的其他用户可以是Windows Phone和iPhone.

更新:

许多人只将API视为您使用数据的地方,但是您想要执行命令或执行操作的部分,例如添加客户或更改foo?

api asp.net-mvc wcf asp.net-mvc-3 wcf-web-api

7
推荐指数
1
解决办法
2220
查看次数

具有多个聚合的LINQ查询

如何创建等效的Linq To Objects查询?

SELECT MIN(CASE WHEN p.type = "In" THEN p.PunchTime ELSE NULL END ) AS EarliestIn,
       MAX(CASE WHEN p.type = "Out" THEN p.PunchTime ELSE NULL END ) AS LatestOUt
FROM Punches p
Run Code Online (Sandbox Code Playgroud)

linq linq-to-objects .net-3.5

6
推荐指数
1
解决办法
2899
查看次数

如何使用XmlConvert将作为对象的值类型转换为字符串?

我正在寻找与下面的代码等效的东西但是对于任何值类型而不必为每种数据类型编码switch语句.下面的代码无法编译,因为XmlConvert.ToString()没有接受和对象的重载.

        int intValue = 10;
        object boxedValue = (object)intValue;
        string xmlValue = XmlConvert.ToString(boxedValue);
Run Code Online (Sandbox Code Playgroud)

换句话说,有没有比这更好的方法:

public static string ToXmlString(Type type, object value) {

        switch(Type.GetTypeCode(type)) {
            case TypeCode.Int32:
                return XmlConvert.ToString((int) value);
            case TypeCode.DateTime:
                return XmlConvert.ToString((DateTime) value, XmlDateTimeSerializationMode.Unspecified);
            case TypeCode.Boolean:
                return XmlConvert.ToString((bool) value);

            // TODO:  Add case for all other value types!

            default:
                return value.ToString();
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# xml

6
推荐指数
1
解决办法
1740
查看次数

控制台应用程序HttpClient发布到mvc web api

我有一个从Visual Studio 2012模板构建的默认mvc web api实例.它在默认的ValuesController中有以下路由和post方法 - MVC站点在初始创建时不会修改,而不是Post方法的内容.此外,我正在使用.NET framework 4.0,因为我计划将Azure作为目标.

注册方法

public static void Register(HttpConfiguration config)
{
    config.Routes.MapHttpRoute(
        name: "DefaultApi",
        routeTemplate: "api/{controller}/{id}",
        defaults: new { id = RouteParameter.Optional }
    );
}
Run Code Online (Sandbox Code Playgroud)

和Post方法

    // POST api/values
    public string Post([FromBody]string value)
    {
        if (value != null)
        {
            return "Post was successful";
        }
        else
            return "invalid post, value was null";
    }
Run Code Online (Sandbox Code Playgroud)

我创建了一个控制台应用程序,它使用HttpClient来模拟发布到服务,但不幸的是,进入Post的"值"始终为null.在HttpClient上的PostAsync调用之后成功命中了Post方法.

我不清楚如何映射我的请求,以便值包含我传入的StringContent ...

    static void Main(string[] args)
    {
        string appendUrl = string.Format("api/values");
        string totalUrl = "http://localhost:51744/api/values";
        HttpClient client = new HttpClient();
        client.DefaultRequestHeaders.Add("Accept", "application/xml"); …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc asp.net-web-api dotnet-httpclient

6
推荐指数
1
解决办法
9740
查看次数

.NET WebApi + DataTable

我正在构建一个.NET WebApi项目.我的一个ApiControllers返回一个数据表.在JSON格式中,它看起来都很好,但XML格式包含我不需要的垃圾.

所以,我在想,让我们编写自己的XML序列化.为此,我创建了一个实现IXmlSerializable的新类.它看起来像这样:

public class MyDataTable : IXmlSerializable
{
    public MyDataTable(DataTable datatable)
    {
        this.Data = datatable;
    }


    public void WriteXml(XmlWriter writer)
    {

        writer.WriteStartElement("Test");
        writer.WriteElementString("T", "hello world");
        writer.WriteEndElement();
    }

    public XmlSchema GetSchema()
    {
        return null;
    }

    public void ReadXml(XmlReader reader)
    {
        throw new NotImplementedException();
    }

    public DataTable Data { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

现在我的XML看起来很棒,但我的JSON不是.JSON看起来像:

{"Data":[{"id":1,"name":"John"},{"id":2,"name":"Julia"}]}
Run Code Online (Sandbox Code Playgroud)

我真正想要的是这个:

[{"id":1,"name":"John"},{"id":2,"name":"Julia"}]
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以从JSON结果中删除"Data"字符串,而无需重写整个内容?或者是否有比这更好的解决方案?

datatable json.net

6
推荐指数
1
解决办法
9078
查看次数

如何在WebApi中设置全局错误处理程序?

我正在构建一个.NET WebApi应用程序,我想设置一个全局错误处理程序(基本上是一个函数,当一个异常从应用程序的任何地方冒出来时执行).这个链接感叹对此的支持,但提供了几种解决方法.不幸的是,我似乎找不到任何有用的文档.

这是我的要求:

  • 捕获动作方法以及其他地方的异常(例如控制器分辨率).
  • 在处理期间可以访问原始的Exception对象.
  • 在错误处理过程中可以访问我的(Autofac)IOC容器中的服务(这是一个强烈的需求,但不是必须的).
  • 不依赖于MVC(我使用的是纯WebApi).不希望依赖IIS.

我该如何设置呢?

c# error-handling asp.net-web-api

6
推荐指数
2
解决办法
3120
查看次数

ASP.NET Web API GET方法:为单个参数传递多个值

我是ASP.NET Web API的新手.

我正在尝试构建一个API方法,可以处理来自搜索客户端的单个参数的多个值.

标准需要是OR搜索,例如.颜色搜索红色或蓝色或绿色.

我将颜色作为整数传递给我的方法.请在下面找到我的控制器方法,该方法无法编译并出现以下错误

错误:

错误1"诠释"不包含一个定义为"包含"和最佳推广方法重载"System.Linq.ParallelEnumerable.Contains(System.Linq.ParallelQuery,TSource)"有一些无效参数

错误2实例参数:无法从'int'转换为'System.Linq.ParallelQuery'

码:

public IQueryable<Items> GetItemByColour(string Colour)
{
    int[] intArr = Array.ConvertAll(Colour.Split(','), s => int.Parse(s));

    var query = from a in db.Items
                where a.ItemsColour.Contains(intArr)
                select a;

    return query;
}
Run Code Online (Sandbox Code Playgroud)

linq asp.net-mvc-4 asp.net-web-api

6
推荐指数
1
解决办法
1529
查看次数

在ASP.NET中使用异步操作时,如何消除HTTP请求之间的延迟?

我正在使用HttpClient将一个GET请求发送到while循环内的服务器

while (cycle < maxcycle)
{

    var searchParameters = new ASearchParameters
    {
        Page = cycle++,
        id = getid
    };

    var searchResponse = await Client.SearchAsync(searchParameters);

}
Run Code Online (Sandbox Code Playgroud)

并且SearchAsync包含

public async Task<AuctionResponse> SearchAsync()
{

    var uriString = "Contains a https url with parameters"
    var searchResponseMessage = await HttpClient.GetAsync(uriString);

    return await Deserialize<AuctionResponse>(searchResponseMessage);


}
Run Code Online (Sandbox Code Playgroud)

事情发生在每个请求之后,在下一个请求开始之前有一个延迟.你可以在提琴手的时间轴上看到这个,也可以在小提琴手中看到每个请求前都有"Tunnel To"example.com:443

在此输入图像描述

问题:为什么会有延迟以及如何删除它?

c# dotnet-httpclient

6
推荐指数
1
解决办法
1234
查看次数