gpt4 book ai didi

c# - linq中的日期时间

转载 作者:太空宇宙 更新时间:2023-11-03 21:49:04 26 4
gpt4 key购买 nike

所以我试图从脚本任务中的表中获取最新记录。错误出现在 Linq 查询中,如下所示:

“无法将表达式‘Table(SSASLogging).Select(r=>r.TimeStamp).Max()’转换为 SQL 并且无法将其视为本地表达式。”

问题出在 DateTime 数据类型上,但我需要 DateTime 将其提供给我的 SSIS 变量。我知道这可以在执行 SQL 任务中轻松完成,但我现在已经放弃太远了!我知道 DateTime 有一些 LinqToSQL 方法,但它们只是为了比较,我不确定如何在此处应用它们。

    public DateTime getLatest()
{
DateTime result = new DateTime();

//temp dummy/defaul date is two days ago
result = DateTime.Now.AddDays(-2);

try
{
//get the data connection string from the connection manager
RW = (string)Dts.Connections["ReportingWarehouse"].ConnectionString;

//Remove the Provider, Auto Translate, and Application
//as it is not a parameter for the DataContext constructor
RW = RW.Remove(RW.IndexOf("Provider=SQLNCLI10.1;"), "Provider=SQLNCLI10.1;".Length);
RW = RW.Remove(RW.IndexOf("Auto Translate=False;"), "Provider=SQLNCLI10.1;".Length);
RW = RW.Remove(RW.IndexOf("Application"),RW.Length - RW.IndexOf("Application"));



MessageBox.Show(RW);

//get the last insertion date from the SSASLoging table
using (DataContext RWData = new DataContext(RW))
{
Table<SSASLogging> records = RWData.GetTable<SSASLogging>();
var rs = (from r in records
select r.TimeStamp).Max();
//result = rs.FirstOrDefault();
}

}

catch (Exception e)
{
MessageBox.Show("Exception in Retrieving latesttime" + e.Message + "/n"
+ e.StackTrace);
}

return result;
}

}//end partial class


[Table]
public class SSASLogging
{
[Column(Name = "CREATED_TIMESTAMP")]
private DateTime timeStamp;

public DateTime TimeStamp
{
get { return this.TimeStamp; }
}
}//End SSASLogging

最佳答案

如果 Max 不工作,那么这个怎么办:

var maxDate =
(from r in records
orderby r.TimeStamp descending
select r.TimeStamp)
.FirstOrDefault();

关于c# - linq中的日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15426597/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com