将随机 Guid 列添加到 Linq to Entities 查询以获取随机记录

发布于 2024-07-22 05:07:05 字数 353 浏览 8 评论 0原文

我发现了一些关于使用 RandomView 视图和 GetNewID 函数来拉回随机记录的文章,但他们将此方法与 Linq to SQL 一起使用,这允许在没有返回值或标量返回值的情况下使用函数和存储过程。 据我了解,存储过程必须作为我生成的模型中的实体框架对象之一返回。 我已经能够让它作为一个对象工作,但不返回标量或不返回集。

我想要做的就是简单地将一列添加到包含新生成的 Guid 的 Linq 查询中,以便我可以按新的 Guid 进行排序并随机获取特定数量的记录。 任何人都可以帮助我完成某种 lambda 表达式或连接吗? 看起来它应该是 EF 中内置的东西,但我知道我们使用的是 EF v1。

(请提供VB.net中的代码)

I've found some articles about using the RandomView view and the GetNewID function to pull back randomized records, but they are using this method with Linq to SQL which allows Functions and Stored Procs to be used with no return value or a scalar return value. From what I understand, a Stored Proc has to been returned as one of the Entity Framework objects from my generated model. I have been able to get that to work as an object, but not returning a scalar or no return set.

What I want to do is to simply add a column to my Linq query that contains a newly generated Guid so that I can order by the new Guids and take a specific number of records randomly. Can anyone help with some sort of lambda expression or join that would enable me to do this? It seems like it should be something built into EF, but I understand that we are on EF v1.

(Please provide code in VB.net)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

口干舌燥 2024-07-29 05:07:05

在 Linq 查询的 Select 子句中,您应该能够插入如下 GUID:

var result = from myRecord in myTable
    select new {
        field1 = myRecord.field1,
        field2 = myRecord.field2,
        guidField = Guid.NewGuid()
    };

In the Select clause of your Linq query, you should be able to insert a GUID like this:

var result = from myRecord in myTable
    select new {
        field1 = myRecord.field1,
        field2 = myRecord.field2,
        guidField = Guid.NewGuid()
    };
小ぇ时光︴ 2024-07-29 05:07:05

好吧,我的 VB 有点生疏,但我认为这会起作用......

Dim result = 
    From myRecord in myTable _   
    Select field1, _
           field2,  _
           guidField = System.Guid.NewGuid()

Well, my VB is a little rusty, but I think this will work...

Dim result = 
    From myRecord in myTable _   
    Select field1, _
           field2,  _
           guidField = System.Guid.NewGuid()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文