🙂 İNSANLARIN EN HAYIRLISI INSANLARA FAYDALI OLANDIR 🙂

Ramazan HABER / C# Web Api MVC RMOS / Entity Framework SqlQuery ile dönen modeli dinamik json a dönüştürme dynamic object from sql query model

1-) C# Web Api MVC RMOS - Entity Framework SqlQuery ile dönen modeli dinamik json a dönüştürme dynamic object from sql query model

 

 

 public DataTable getQueryToDataTable(string query, DbContext context)

        {

            DataTable dt = new DataTable();

            try

            {

                using (var cmd = context.Database.Connection.CreateCommand())

                {

                    cmd.CommandType = System.Data.CommandType.Text;

                    cmd.CommandText = query;

                    SqlDataAdapter da = new SqlDataAdapter((SqlCommand)cmd);

                    da.Fill(dt);

                }

            }

            catch (Exception ex)

            {

                throw ex;

            }

 

            return dt;

        }

 

 

 

 

1-) ValuesController.cs

 

 

using GuestApi.Entities;

using GuestApi.Models;

using System;

using System.Web.Http;

 

namespace GuestApi.Controllers

{

    public class ValuesController : ApiController

    {

        CrmEntities crmDb = new CrmEntities();

        [Route("Values/getAnkUsers/{userKod}/{userSifre}")]

        public GenelModel getAnkUsers(string userKod, string userSifre)

        {

            GenelModel genelModel = new GenelModel();

            try

            {

                string query = "select ad,soyad from AnkUsers where kod='" + userKod + "' and sifre='" + userSifre + "'";

                genelModel.model = genelModel.getQueryToJson(query,crmDb);

            }

            catch (Exception ex)

            {

                genelModel.message = ex.Message;

                genelModel.success = false;

            }

            return genelModel;

        }

    }

}

 

 

 

2-) GenelModel.cs

 

using Newtonsoft.Json;

using System.Data.Entity;

using System.Linq;

 

namespace GuestApi.Models

{

    public class GenelModel

    {

        public string message { get; set; } = "Başarılı";

        public bool success { get; set; } = true;

        public object model { get; set; } = null;

 

        public object getQueryToJson(string query, DbContext context)

        {

            string replace = "select @json as jsonn";

            string jsonQuery =

                @"

                DECLARE @json NVARCHAR(MAX);

                SET @json = (" + query + @" FOR JSON path,INCLUDE_NULL_VALUES)

                " + replace;

            string json = context.Database.SqlQuery<string>(jsonQuery).FirstOrDefault();

 

            object model = JsonConvert.DeserializeObject<object>(json);

 

 

            return model;

        }

 

    }

}

 

 

 

3-) EKRAN GÖRÜNTÜSÜ

 

 

kaynak : https://stackoverflow.com/questions/25494384/how-to-return-dynamic-object-from-sql-query

 2022 Kasım 02 Çarşamba
 532