我正在构建一个WEB API来生成.net core
中的JSON对象关键是数据集是在SQL存储过程中生成的(使用动态SQL),我不知道返回的对象类型,因此我可以将其映射到具体模型,因为输出列根据参数而变化
是否有人知道在使用或不使用EF的情况下从网络核心1.0中的BD中检索数据集?
浏览了很多,只能找到使用模型的激光器
提前致谢
答案 0 :(得分:3)
您可以在project.json文件中为项目添加以下依赖项:
如下图所示:
重建您的项目,您可以编写如下代码:
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Dynamic;
namespace ConsoleApp1
{
public class Program
{
public static IEnumerable<dynamic> GetData(String cmdText)
{
using (var connection = new SqlConnection("server=(local);database=Northwind;integrated security=yes;"))
{
connection.Open();
using (var command = new SqlCommand(cmdText, connection))
{
using (var dataReader = command.ExecuteReader())
{
var fields = new List<String>();
for (var i = 0; i < dataReader.FieldCount; i++)
{
fields.Add(dataReader.GetName(i));
}
while (dataReader.Read())
{
var item = new ExpandoObject() as IDictionary<String, Object>;
for (var i = 0; i < fields.Count; i++)
{
item.Add(fields[i], dataReader[fields[i]]);
}
yield return item;
}
}
}
}
}
public static void Main(String[] args)
{
foreach (dynamic row in GetData("select * from Shippers"))
{
Console.WriteLine("Company name: {0}", row.CompanyName);
Console.WriteLine();
}
Console.ReadKey();
}
}
}
如果有用,请告诉我。