小编Bha*_*hra的帖子

Odata控制器:如何在客户端将Odata响应转换为C#对象

我们收到了以下Odata响应:

"{\r\n  \"@odata.context\":\"http://localhost/ApplicationService/model/$metadata#Edm.String\",\"value\":\"{\\\"Messages\\\":[\\\"message 1\\\",\\\"message 2\\\",\\\"message 3\\\",\\\"message 4\\\"],\\\"IsValidEntity\\\":false}\"\r\n}"
Run Code Online (Sandbox Code Playgroud)

现在说我们有一堂课:

    public class myValidationResult
    {
        public myValidationResult()
        {
            Messages = new List<string>();
        }
        public List<string> Messages { get; set; }
        public bool IsValidEntity { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

该类在MyOdataController班级中使用如下:

public class MyODataController : ODataController 
{
        [Authorize(Roles = "Admin")]
        public async Task<IHttpActionResult> Post(T entity)
        {
                myValidationResult  vResult = new myValidationResult();
                vResult.Messages.Add("message 1");
                vResult.Messages.Add("message 2");
                vResult.Messages.Add("message 3");
                vResult.Messages.Add("message 4");
                vResult.IsValidEntity = false;

                 var strResult = JsonConvert.SerializeObject(vResult);
                var resp = Content(HttpStatusCode.BadRequest, strResult );

                return …
Run Code Online (Sandbox Code Playgroud)

c# json.net odata

5
推荐指数
1
解决办法
5915
查看次数

标签 统计

c# ×1

json.net ×1

odata ×1