我们刚刚开始使用EF 4.1代码。我有一个类似如下的sql查询:
SELECT * FROM TableA
WHERE DATEDIFF(DAY,GETDATE(), TableA.ExpirationDate == x days)我不知道如何在EF4.1代码的第一组函数中使用sql查询。如下所示的一个函数:
IQueryable<TEntity> GetQuery<TEntity>() where TEntity : class 有谁有主意吗?
发布于 2012-02-04 07:20:35
试一试
context.Database.SqlQuery<EntityA>("SELECT * FROM TableA
WHERE DATEDIFF(DAY,GETDATE(), TableA.ExpirationDate == x days");发布于 2012-02-04 07:53:00
类似下面这样的内容与您的查询很接近:
var things = context.TableAEntities
.Where(e => EntityFunctions.DiffDays(DateTime.Now, e.ExpirationDate) == x)
.ToList();它可以翻译为:
SELECT
[Extent1].[Id] AS [Id],
//... more columns
[Extent1].[ExpirationDate] AS [ExpirationDate]
FROM [dbo].[TableA] AS [Extent1]
WHERE (DATEDIFF (day, SysDateTime(), [Extent1].[ExpirationDate])) = @p__linq__0SysDateTime() (在SQL Server中)与GETDATE()相同,只是精度更高。
https://stackoverflow.com/questions/9136782
复制相似问题