【发布时间】:2015-05-25 20:26:32
【问题描述】:
这是我在服务器上的代码:
model.Grid.DataSource =
db.Database.SqlQuery<Reports.Cardex>("[dbo].[SP_RptCardexSummary_English_1] @OwnerCode, @TypeCode, @MeasurementUnitCode, @FDate",
new SqlParameter { ParameterName = "@OwnerCode", Value = filterList[0] },
new SqlParameter { ParameterName = "@TypeCode", Value = filterList[1] },
new SqlParameter { ParameterName = "@MeasurementUnitCode", Value = filterList[2] },
new SqlParameter { ParameterName = "@FDate", Value = filterList[3] })
.ToList();
和我的程序:
ALTER PROCEDURE [dbo].[SP_RptCardexSummary_English_1]
@OwnerCode int,
@TypeCode int,
@MeasurementUnitCode smallint,
@FDate datetime
更新: 我通过字符串创建了一个 DateTime 值:
var date = "2015/05/25";
var time = "20:30"
filterList.Add(Convert.ToDateTime(date + " " + time));
但是当我传递一个System.DateTime 值时,它会抛出一个异常:
“从具体化的 'System.DateTime' 类型到 'System.String' 类型的指定转换无效。”
我应该如何通过它?
有趣的是,当我设置 SQL Profiler 来观察和运行 SQL Profiler 收到的内容时,它工作正常!!有什么问题?
【问题讨论】:
标签: .net entity-framework datetime sqlparameter