EF var出来的list集怎么存入SqlParameter[]?

morliz子轩 2020-06-04 01:57:33
背景如下:
db中有参数表如下:


如何将表中的这两个值,以传参的方式存入SqlParameter[]?
以下是我的源码:

private void BindData()
{
using(CusModelContainer db = new CusModelContainer())
{
List<bgdatasrc> rBarlist = db.bgdatasrcs.Where(x => x.rptbarid == _rptbarid).ToList(); //本级项目主表
string dsrcno = rBarlist.Select(a => a.dsrcno).FirstOrDefault(); //项目编号
string dsrcna = rBarlist.Select(b => b.dsrcna).FirstOrDefault(); //项目名称
int dsrctype = rBarlist.Select(c => c.dsrctype).FirstOrDefault(); //数据源类型

var dsrclist = db.vDsrcdtls.Where(x => x.dsrcno == dsrcno).Select(x => new
{
x.para,
x.paravalue
}).ToList(); //项目参数表

System.Data.SqlClient.SqlParameter[] para = dsrclist.ToArray();


/*
System.Data.SqlClient.SqlParameter[] para =
{
new System.Data.SqlClient.SqlParameter("@dsrcno",dsrcno)
};
*/
DataSet ds = new DataSet();

string sql = "exec [" + dsrcna + "] " + para;


}

}

主要是我是想实现这样的情景:
参考https://www.cnblogs.com/tsql/p/6518699.html


还请大佬给点意见,指导一下
...全文
207 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
morliz子轩 2020-06-04
  • 打赏
  • 举报
回复
引用 5 楼 正怒月神 的回复:
我的是 SqlParameter[] 而你的是 List<SqlParameter>
我看见了,见笑见笑,大佬,呵呵: 最终的改法是这样的:

                System.Data.SqlClient.SqlParameter[] paralist = dsrclist.Select(d => new System.Data.SqlClient.SqlParameter()
                {
                    ParameterName = d.para,
                    Value = d.paravalue
                }).ToArray();
已经OK了,非常感谢
正怒月神 2020-06-04
  • 打赏
  • 举报
回复
引用 3 楼 morliz子轩 的回复:
[quote=引用 2 楼 正怒月神 的回复:] 问题的关键不是怎么转,而是select时,去指定拿出来替换成什么类型。 你照着改改吧。
大佬,我按你说的改了,成这样。这是哪的问题啊?[/quote] 我的是 SqlParameter[] 而你的是 List<SqlParameter>
morliz子轩 2020-06-04
  • 打赏
  • 举报
回复
引用 2 楼 正怒月神 的回复:
问题的关键不是怎么转,而是select时,去指定拿出来替换成什么类型。 你照着改改吧。
我这样写,就没毛病了:

                List<System.Data.SqlClient.SqlParameter> paralist = dsrclist.Select(d => new System.Data.SqlClient.SqlParameter()
                {
                    Value = d.paravalue,
                    ParameterName = d.para
                }).ToList();
morliz子轩 2020-06-04
  • 打赏
  • 举报
回复
引用 2 楼 正怒月神 的回复:
问题的关键不是怎么转,而是select时,去指定拿出来替换成什么类型。 你照着改改吧。
大佬,我按你说的改了,成这样。这是哪的问题啊?
正怒月神 2020-06-04
  • 打赏
  • 举报
回复
问题的关键不是怎么转,而是select时,去指定拿出来替换成什么类型。 你照着改改吧。
正怒月神 2020-06-04
  • 打赏
  • 举报
回复
SqlParameter[] s = myList.Select(x=> new SqlParameter() {Value=xxx,ParameterName=xxx }).ToArray();
下载代码方式:https://pan.quark.cn/s/f37bcecd66c0 YOLOv3(You Only Look Once version 3)是一种基于深度学习技术的目标检测方法,由Joseph Redmon、Ali Farhadi等研究者于2018年开发。该算法在目标检测领域展现出广泛的应用前景,特别是在实时视频处理、自动驾驶系统以及智能监控系统等场景中。与YOLO的前两个版本相比,YOLOv3在提升检测准确性的同时,依然维持了较高的处理速度。YOLOv3模型的关键构成要素包括三个主要部分:网络设计、损失评估机制以及数据准备流程。1. **网络设计**:YOLOv3以DarkNet-53作为其基础网络结构,DarkNet-53是一种包含53层卷积层的深度卷积神经网络,其设计目标在于实现准确性与计算效率的均衡。YOLOv3引入了特征金字塔网络(Feature Pyramid Network, FPN)的理念,这一创新能够有效检测不同尺寸的目标。模型通过多个层级进行预测,每个层级专门负责识别特定尺寸的物体,从而显著增强了小尺寸目标的检测性能。2. **多尺度预测**:YOLOv3在三个不同的尺度上执行预测任务,每个尺度对应一组不同的锚框(Anchor Boxes),锚框是预先设定的可能目标尺寸,用于初始化检测框。每个网格单元负责预测多个锚框,每个锚框包含两个坐标偏移量(表示框的位置)、一个置信度得分(表明该框内存在目标的概率)以及类别概率。3. **优化的Anchor Boxes**:与YOLOv2相比,YOLOv3采用了更多种类的锚框,这些锚框具有不同的比例和尺寸,从而更有效地适应各种形状和大小的目标。4. **损失评估机制**:YOLOv3的...

111,131

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧