C# · 12月 30, 2021

c# – 使用DateTime列设置LinqDataSource Where子句

在C#.net中,我有以下的DataSource设置,我试图在后面的代码中动态地分配一个WHERE子句 <asp:LinqDataSource ID=”LinqDataSource1″ runat=”server” ContextTypeName=”MyNameSpace.DataClasses1DataContext” TableName=”MyTableWithADateTimeColumn” ></asp:LinqDataSource>

后面的代码看起来像这样…

LinqDataSource1.Where = “MyDateColumn == DateTime(” + DateTime.Now + “)”;

这给我一个”””或”’的错误.我也尝试将其引用在引号内,而不是将其转换为DateTime和引号.

LinqDataSource1.Where = @”MyDateColumn == “”” + DateTime.Now + @””” “;

这给我操作符’==’与操作数类型’DateTime’和’String’不兼容.我尝试了其他几种方法,但我显然在这里遗漏了一些东西.

类似的代码对字符串工作正常.

解决方法 这是吗那么这样呢 LinqDataSource1.Where = “MyDateColumn == DateTime.Parse(” + DateTime.Now + “)”; //can’t create a date from string in constructor use .Parse()…