2010-07-16 51 views
0

我有一个表员工它包含字段ename,eid,workid,日期,工作等等。它存储分配给workid作为主键的员工的工作,所以相同的名称将在那里,所以我需要rerieve DATAS其中的ename =一个特定的名称和workid对于必须最大....Linq-sql类选择使用max

感谢

+0

你是怎么回事?运气好的话? – 2010-08-04 13:08:42

回答

0

我强烈建议你分开工作和员工帮我分成不同的表格,这样您就不会为每个工作项目重复员工详细信息。

所以你不得不雇员表 - 为ename,EID(主键)

和你有工作表 - workid(主键),日期,工作,EID(外键employee.eid)

以上将允许您为每个员工拥有多个工作项目,而且您不必为每个工作项目都有重复的员工详细信息(如姓名和ID)。

总之,要回答你的问题,你可以做以下 -

var e = (from em in DataContext.Employees 
       where em.ename = "John Smith" 
       Select em).Max(x => x.workid); 

但是,你会好得多做什么我建议,让您的查询检索雇员可能看起来是这样,而不是 -

var e = from em in DataContext.Employees 
     where em.name = "John Smith" 
     Select em;