我有一个简单的表:
身份证 | 价值
当我这样做时:
var sequence = from c in valuesVault.GetTable()
select new {RandomIDX = Guid.NewGuid(), c.ID, c.Value};
投影中的每个元素都具有相同 guid 的值...我该如何编写才能为投影中的每个元素获得不同的随机 guid 值?
编辑
为了澄清这个问题。GetTable()方法简单地调用它:
return this.context.GetTable<T>();
其中 this.contenx 是 T 类型的 DataContext。
迭代像往常一样完成,没什么特别的:
foreach (var c in seq)
{
Trace.WriteLine(c.RandomIDX + " " + c.Value);
}
输出:
bf59c94e-119c-4eaf-a0d5-3bb91699b04d What is/was your mother's maiden name?
bf59c94e-119c-4eaf-a0d5-3bb91699b04d What was the last name of one of your high school English teachers?
bf59c94e-119c-4eaf-a0d5-3bb91699b04d In elementary school, what was your best friend's first and last name?
编辑 2 使用开箱即用的 linq2Sql 提供程序。我已经围绕它构建了一些通用包装器,但它们不会改变代码中 IQuaryable 或 IEnumerable 函数的方式。