将byte或int分配给List <int>或字节C#

时间:2016-06-14 13:09:01

标签: c# linq c#-4.0 lambda c#-3.0

 var x1 = this.db.VW_Validation_Quantity.Where(x => x.partition_id == partitionId).ToList();

以上行返回1167条记录。所有记录都将包含claim_validation_test_id,我想将此id添加到List<int> or List<byte>,所以我使用创建了特定模型的匿名类型。

public class ValidationModel
{
 public List<byte?> claim_validation_test_id { get; set; }
}




List<ValidationModel> result1 = this.db.VW_Validation_Quantity.
Where(x => x.partition_id == partitionId)
.Select(y => new ValidationModel
 {
  claim_validation_test_id = new List<byte?>() { y.claim_validation_test_id },
 }).ToList();

两个lamda表达式都是相同的,唯一的区别是修改test_id字节类型并分配给List。但第二次lamda探险返回363条记录。

第一个表达式给出1167条记录。 第二个表达式给出了363条记录。

如果我通过正常的字节赋值修改第二个表达式,那么它将给出1167条记录。即。

List<ValidationModel> result1 = this.db.VW_Validation_Quantity.Where(x => x.partition_id == partitionId)
            .Select(y => new ValidationModel
        {
            testid =  y.claim_validation_test_id ,



        }).ToList();

我不确定为什么它在同一张桌子上有所不同。

1 个答案:

答案 0 :(得分:0)

我已经通过在part之后添加ToList()来修复它。我不确定问题是如何解决的,但是在将部分返回所有1167条记录之后添加ToList()之后。

List<ValidationModel> result1 = this.db.VW_Validation_Quantity.
Where(x => x.partition_id == partitionId).ToList()
.Select(y => new ValidationModel
 {
  claim_validation_test_id = new List<byte?>() { y.claim_validation_test_id },
 });