Marc Gravell publicó solution here que le permite definir una función que usa NEWID en una clase parcial para el DataContext. No lo coloque en la clase DataContext generada; de lo contrario, las actualizaciones futuras eliminarán lo que ha agregado.
Marc muestra cómo usarlo con la sintaxis de la expresión de consulta. Alternativamente, la notación de puntos, se podría escribir:
var results = dc.Table.OrderBy(r => dc.Random()).Take(n);
En caso de que usted no está familiarizado con la creación de una clase parcial, sólo tiene que añadir una nueva clase a su solución. Su nombre no importa siempre que la definición de clase use el nombre de la clase DataContext con la palabra clave partial
. Por ejemplo, si su DataContext se llama XYZDataContext
puede agregar una nueva clase llamada XYZDataContextPartial.cs
y definirlo como:
namespace YourNamespace
{
public partial class XYZDataContext
{
}
}
perfecto! La solución de Marc funcionó exactamente como esperaba. – benpage