我发现了一些关于使用RandomView视图和GetNewID函数来撤回随机记录的文章,但他们正在使用Linq to SQL的这个方法,它允许使用函数和存储过程而没有返回值或标量回报价值。据我所知,存储过程必须作为我生成的模型中的一个Entity Framework对象返回。我已经能够将其作为一个对象,但不返回标量或没有返回集。
我想要做的只是在我的Linq查询中添加一个包含新生成的Guid的列,这样我就可以通过新的Guid订购并随机获取特定数量的记录。任何人都可以帮助某种lambda表达式或连接,这将使我能够做到这一点?看起来它应该是EF内置的东西,但我知道我们在EF v1上。
(请在VB.net中提供代码)
答案 0 :(得分:3)
在Linq查询的Select子句中,您应该能够插入如下所示的GUID:
var result = from myRecord in myTable
select new {
field1 = myRecord.field1,
field2 = myRecord.field2,
guidField = Guid.NewGuid()
};
答案 1 :(得分:2)
嗯,我的VB有点生疏,但我认为这会有用......
Dim result =
From myRecord in myTable _
Select field1, _
field2, _
guidField = System.Guid.NewGuid()