为了处理后台服务器上的日常事务,我需要从Web服务器的数据库中提取事务。在SQL Server上的DateTime字段中提取给定日期的所有记录的建议方法是什么?
var transactions = from i in db.Transactions
where i.TransactionTimestamp.Year == transactionDate.Year &&
i.TransactionTimestamp.Month == transactionDate.Month &&
i.TransactionTimestamp.Day == transactionDate.Day
select new Transaction();
当我尝试上述操作时出现以下错误:
System.NotSupportedException未处理
Message =无法在LINQ to Entities查询中构造实体或复杂类型“db_eGovModel.Transaction”。
答案 0 :(得分:1)
您当前正在查询事务,然后抛弃结果并从头开始创建一个新的Transaction
实例 - 这不是您想要的,也会导致运行时错误,因为没有等效的事务SQL端的实例。
而只是返回您查询的实体 - 试试这个:
var transactions = from i in db.Transactions
where i.TransactionTimestamp.Year == transactionDate.Year &&
i.TransactionTimestamp.Month == transactionDate.Month &&
i.TransactionTimestamp.Day == transactionDate.Day
select i;
答案 1 :(得分:0)
您可以使用它吗?
var transactions = from i in db.Transactions
where i.TransactionTimestamp == EntityFunctions.TruncateTime(transactionDate)
select i;