select top 1 * from ( select p.productID,p.salePrice,pc.NewSalePrice,ISNULL(pc.NewSalePrice,p.salePrice) EndPrice from product p left join ( select * from productColumn where pcID in(select max(pcID) pcID from pr oductColumn group by productID)) as pc on p.productID=pc.productID ) as p order by EndPrice
内容如标题,理论上觉得用linq来写这样的sql语句应该可以实现,现实是还没有实现。
结果应该是这样:
可以先把上述做成视图 然后直接用Linq 查该视图.
这样做还是在操作sql
@龙行天涯: linq 本来就支持操作sql 有一个ExecuteSqlCommand方法 你上图也没带条件可以用这种方式吧?
@筱浬: 你理解错我的意思了,我想要的是linq语句,而不是讨论linq支不支持sql的问题。
再者你说的ExecuteSqlCommand方法是要在EF中才有的。
最后就算你用了这个方法,它返回的只是一个影响的数据行数。
@龙行天涯: 原来是这样,可以的. 我试试
@筱浬: 嗯,你可以去试试
嗯?linq实现不了你的需求,你可以拆开了来看,先算group by再计算左连接,linq是可以做到的
感觉就是个未知数
@龙行天涯: 试过吗?不试试怎么知道
@webaspx: 拆分当然是可以实现的,我说的未知数指的是不拆分的情况下