c# - 有什么简单的方法可以从 datareader 填充列表模型吗?
问题描述
我正在通过 OracleDataReader 从表中获取数据。我有这张桌子的模型。
员工模型
public class Employee
{
public int ID { get; set; }
public int SIRKETID { get; set; }
public string NAME{ get; set; }
public string SURNAME{ get; set; }
public string DEPARTMENT{ get; set; }
public string STATUS{ get; set; }
}
控制器
public JsonResult getEmployee()
{
....
string sql = @"select * from Employee";
OracleCommand command = new OracleCommand(sql, connection);
OracleDataReader reader = command.ExecuteReader();
while (reader.Read())
{
var employee = new Employee();
Employee.ID = Convert.ToInt32(reader["ID"]);
Employee.SIRKETID = Convert.ToInt32(reader["SIRKETID "]);
Employee.NAME = reader["NAME"].ToString();
Employee.SURNAME = reader["SURNAME"].ToString();
Employee.DEPARTMENT = reader["DEPARTMENT"].ToString();
Employee.STATUS = reader["STATUS"].ToString();
model.Add(Employee);
}
....
return Json(new { data = model});
}
这很好用,但我不想一一映射列。我有 100 列。而且我不知道某些表中有多少列
有什么简单的方法可以将模型返回为 json
解决方案
您可以使用像Dapper这样的第三方库,这是一个用于 .Net 的简单对象映射器。
您可以在下面查看基本用法示例:
public class Dog
{
public string Name { get; set; }
public float? Weight { get; set; }
}
var dog = connection.Query<Dog>("SOME QUERY", new { Name = "DOGNAME" });
推荐阅读
- git - Git pull 覆盖并且不合并或确认同一分支(主)上的冲突
- excel - 添加 nlog 后 Excel 插件不再工作(与 addin-express 一起安装)
- javascript - React : Invariant Violation: 对象作为 React 子对象无效
- python - Pyinstaller EXE: FileNotFoundError: No such file or directory 'C:\\Users\\my.name\\Desktop\\EPE 2.0\\dist\\main\\timezonefinder\\timezone_names.json'
- r - 字符串匹配,其中字符串包含标点符号
- bash - bash:基本的 if 条件不起作用?(字符串比较)
- javascript - 如何触发自定义复选框小部件
- javascript - reactJs 中的组件
- javascript - 显示未捕获的引用错误
- laravel - 原始 SQL 到 Eloquent