c# - 将模型作为函数参数传递
问题描述
我在 C# 中找到了以下代码。
var results= context.Database.SqlQuery <Student> ("select * from students").ToList();
会给我一份学生名单和
var results= context.Database.SqlQuery <Teacher> ("select * from teachers").ToList();
会给我一份老师的名单。这些似乎与我非常相似。我想要做的是将上面的内容变成一个接受模型和字符串的函数,这样我就可以传递类似的东西
GetList(Model myModel, string sqlString)
{
return context.Database.SqlQuery<myModel>(sqlString).ToList();
}
这有可能吗?
解决方案
您正在研究使用泛型。
你的方法看起来像这样:
GetList<T>(string sqlString)
{
return context.Database.SqlQuery<T>(sqlString).ToList();
}
然后你会称它为T
用你的类型替换它,所以:
var list = GetList<MyModel>("select * from table");
在此处阅读有关泛型的信息
推荐阅读
- amazon-web-services - 是否可以运行多个并行写入 S3 的 Spark Structured Streaming 作业?
- node.js - 为什么流式传输响应比在 Node.js / Express 中发送常规响应慢得多?
- html - 导航栏中的 Flexbox:无法垂直对齐项目
- c - 为什么向内联函数添加声明会生成符号?
- c# - Javascript sweetalert 插件总是显示一个输入文本框
- mysql - 如果 MySQL COUNT 不为空,则返回 0
- assembly - 如何将 AVR GCC 风格的 C 内联汇编翻译成 Rust 内联汇编?
- tcl - TCL - 将多个变量设置为 0
- excel - 访问网页中的主要 HTML 文档以使用 Selenium 自动化 Chrome
- python - 使用 Office365-REST-Client 从 OneDrive 的共享链接下载文件