c# - 如何从存储过程接收动态数据
问题描述
我正在使用 Entity Framework Core 并希望从我的存储过程中接收动态数据。例如:
result1FromGetDataMethod = {id=xxx, datetime=xxx, isValid=xxx, ...}
result2FromGetDataMethod = {id=xxx, datetime=xxx, otherParamWhichIsNotInResult1=xxx, ...}
result3FromGetDataMethod = {completelyOtherParam=xxx, ...}
...
我不知道哪些键值对来自数据库,我不需要知道我的业务逻辑。有没有办法从存储过程中获取动态数据?我尝试了以下方法,但没有奏效。
public class TestContext : DbContext
{
public TestContext(DbContextOptions<TestContext> options) : base(options)
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Query<dynamic>();
}
public dynamic GetData(MyRequestOptions searchParams)
{
SqlParameter fromDate = new SqlParameter("from", searchParams.From.ToString("yyyy-MM-dd"));
SqlParameter toDate = new SqlParameter("to", searchParams.To.ToString("yyyy-MM-dd"));
string sqlQuery = "exec procedure @from, @to";
var data = Query<dynamic>()
.FromSql(sqlQuery, fromDate, toDate);
.ToList();
return data;
}
}
在此示例中,“序列不包含元素”出现错误。如果我在 SQL Server 上运行该过程,它运行没有问题。
解决方案
推荐阅读
- ios - 蓝牙设备弹出
- authentication - 无法安装 Sourcetree,因为 oAuth 重定向页面未在端口 34106 的 localhost 中加载
- javascript - 如何更改隐藏 div 上的幻灯片索引?
- javascript - 我在问我什么时候重置 Jquery 表单
- loops - 如何使用 codeigniter 进行双循环
- c# - 如果单元格没有价值,我如何获得单元格的颜色?(非营利组织)
- dart - Dart:catchError Future 的函数签名
- python-3.x - 创建对象时python代码中的错误
- c# - 如何将 Ardunio ESP8266 wifi 服务器与 asp.net 应用程序连接
- operating-system - 为什么页面错误通常由操作系统而不是硬件处理?