如何将循环迭代结果存储到列表中?

Kannan KG

我有两个数据库表,一个表包含许可证密钥(激活),另一个表具有每个许可证密钥的序列号(LicenseSerialNumbers)。LicenseSerialNumbers表的主键是激活表中的licenseID列的外键(LicenseSerialNumbers.ID == Activations.licenseID)

现在,我已经过滤了激活表结果,以便仅根据业务需求针对产品序列号激活密钥。我在List currentKey中有这个结果

var currentKey = context.Activations.SqlQuery("SELECT * FROM Activations where JSON_VALUE(ActivationInfo, '$.SerialNumber')=@value", new SqlParameter("@value", activationinfo)).ToList();

我为两个模型都创建了ViewModel以合并表结果

public class LicenseSerialNumberViewModel
{ 
public List<Activation> Activations { get; set; }
public List<LicenseSerialNumber> LicenseSerialNumber { get; set; }
}

列表加入:

var data = new LicenseSerialNumberViewModel();
var result = data.LicenseSerialNumber.Join(data.Activations, l => l.Id, a 
=> a.licenseID, (LId, serial) => new{LId = LId.SerialNumber});

我希望在一个视图中发布两个表的值。必须将过滤后的激活表行与LicenseSerialNumber表/类进行比较,然后传递到视图中。

问题:我没有得到预期的结果。我是编程新手,到目前为止我已经取得了进步,并停留在SqlQuery函数只能接受基本类型变量的地方。但是结果currentkey是一个列表。

var currentKey = context.Activations.SqlQuery("SELECT * FROM Activations where JSON_VALUE(ActivationInfo, '$.SerialNumber')=@value", new SqlParameter("@value", activationinfo)).ToList(); var id = currentKey.Select(a => a.LicenseSerialNumberId).ToList(); 

var data = context.LicenseSerialNumbers .SqlQuery("Select * from LicenseSerialNumbers where Id =@value", new SqlParameter("@value", id)).ToList();

在上面的代码中,我传递给@value参数的id是一个列表。但是SqlQuery函数只接受原始变量。

如何遍历id值并使变量数据成为列表?我尝试了foreach和for循环来遍历id列表,但是无法将输出移出循环范围。

List<long> temp; 

foreach (var i in id) { 

var a = context.LicenseSerialNumbers.SqlQuery("Select * from LicenseSerialNumbers where Id =@value", new SqlParameter("@value", i)).Single();
temp.Add(a); 
} 

错误:使用未分配的局部变量“ temp”

如何迭代并将每个比较结果添加到列表中?

瓦希德·法拉赫曼迪安(Vahid Farahmandian)

您应该在使用temp变量之前对其进行初始化例如这样的:

List<long> temp = new List<long>(); //<==== HERE

foreach (var i in id) { 
   //...
   temp.Add(a); 
} 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将结果存储在for循环的列表中

如何将“ for”循环中的回归结果存储在唯一名称下的列表中?

如何将for循环的每次迭代结果存储到Java中的数组中

如何将Java nio文件walk()结果存储到String列表中?

如何将迭代结果存储在变量中

如何将For循环结果存储到XSLT变量中

无结果时如何将NA放入For循环的存储列表中

如何将结果从for循环存储到数据框中

如何将scala match表达式的中间结果存储到列表中?

如何将reduce函数的每个迭代存储在列表中?

如何将列表列表中的值存储到python中的单独列表中?

如何将SQL Server查询结果存储到字符串列表中?

如何将“空格”字符存储到列表中

如何将结果存储在C ++中的Map中,然后对其进行迭代,然后打印出结果?

如何将循环的结果存储在矩阵中?

如何将输出存储到矩阵列表中

如何将输出存储到r中的for循环中

如何将函数的结果存储到变量中?

如何将每次迭代的循环输出存储到数据帧

如何将 .each() 的结果存储到 localStorage 中?

如何将循环的每次迭代存储为innerHTML

Javascript - 如何将 for 循环的结果存储到变量中?

如何将 BeautifulSoup 结果中的 URL 存储到列表,然后再存储到表

将 for 循环迭代的结果存储在字典中

如何将for循环的结果存储在R中的向量或列表中

如何将列表中的多个向量迭代存储到数据框列表中的适当列中?

Python:如何将迭代结果存储到多个列表或数据框列?

如何将列表与迭代结果进行比较?

如何将“ls”的结果存储在变量中,并将 cd 存储到该变量中