使用Linq to SQL的默认排序列

时间:2009-04-28 11:03:07

标签: linq linq-to-sql

我正在构建一个简单的Linq to SQL存储库模式。

我想知道的是,是否可以设置默认排序列,因此我不必调用orderby。 根据我的阅读,我认为不是,如果是这种情况,建议解决这个问题。

最好的想法是在我的模型上使用部分类的属性吗?

2 个答案:

答案 0 :(得分:4)

默认顺序是您要拉出的表格上的聚集索引。

你想要排序的是什么(没有排序)?

答案 1 :(得分:0)

如果您需要的东西不是按主键排序,您可以查看为表提供select语句而不是使用运行时生成的语句。查看设计器中表的属性 - 您应该能够覆盖运行时生成的select,delete和update语句。不过,我个人不推荐这个,因为我不确定它会如何与其他订单互动。我认为意图更像是允许你使用存储过程。

另一种替代方法是创建一个表值函数或存储过程,按照您希望的方式进行排序,并具有与表相同的模式。如果在设计器中将其拖到表上,则会在数据上下文中获得一个强类型方法,您可以根据函数/过程的定义而不是标准选择来获取这些实体。我个人认为这引入了较少的维护难题,因为它使其更加明显,但您必须记住使用该方法而不是该实体的Table属性。