【发布时间】:2016-06-14 13:09:00
【问题描述】:
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 expession 返回 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();
我不确定同一张桌子的不同原因是什么。
【问题讨论】:
-
partitionId在这两种情况下都是一样的,不是吗? -
@valentin 是一样的
标签: c# linq c#-4.0 lambda c#-3.0