Moh*_*yan 4 c# entity-framework-6
我有一个员工表单,用于在我的项目中使用ASP.NET MVC5编辑或显示个人信息,此表单获取Id并显示员工信息.
在这种形式我必须Next和Previous按钮,允许管理员导航到下一个或前员工(如果没有员工的按钮应禁用).另一方面,此表单具有由Admin设置的变量排序.
因此,我想将两个<a />标签与下一个和上一个员工ID相关联,并将其链接到员工表单.
<< Previous employee Id by sorting Next employee Id by sorting >>
Run Code Online (Sandbox Code Playgroud)
我知道如何获得当前的员工,这在Entity Framework中非常简单.
但是,如何通过实体框架获取当前Id的下一个和上一个ID?
Fab*_*ino 10
如果我正确理解了您的问题,"下一个"或"上一个"的概念与您用于排序的规则有关.现在,让我使用简单的"按ID排序"作为排序规则.通过3个查询,您可以获得当前,下一个和上一个项目:
int id = 562; // the current id
var curr = (from x in dbCtx.Employees where x.ID == id select x).Single();
var prev = (from x in dbCtx.Employees where x.ID < id orderby x.ID descending select x).FirstOrDefault();
var next = (from x in dbCtx.Employees where x.ID > id orderby x.ID ascending select x).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
您可以减少3到2个查询.第一个和第二个可以在单个查询中混合.此查询返回当前和上一项:
(from x in dbCtx.Employees where x.ID <= id orderby x.ID descending select x).take(2)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3531 次 |
| 最近记录: |