2012-04-16 35 views
4

我想调用这个存储过程的输入参数:如何调用从MVC需要日期时间的存储过程

proc [dbo].[Invoice_GetHomePageInvoices] (

     @FinancialYearStartDate datetime = null 
,  @FinancialYearEndDate datetime = null 

麻烦与这就是我通常所说的一个存储过程从我的代码是这样的:

return _db.Database.SqlQuery<HomePageInvoice>(string.Format("EXEC Invoice_GetHomePageInvoices @FinancialYearStartDate = '{0}', @FinancialYearEndDate = '{1}'", financialYear.StartDate.ToString(), financialYear.EndDate.ToString())); 

所以这是行不通的,因为我基本上已将日期时间转换为字符串。

我该怎么做到这一点?

回答

0
  1. 日期转换为具有特定格式的字符串。
  2. 使用SQL代码将其转换回sql datetime对象。

当使用SQL Server(微软): http://msdn.microsoft.com/en-us/library/ms187928.aspx “转换(日期时间, '{0}',103)”,financialYear.EndDate.ToString( “MM/DD/YYYY”)

编辑:罗普斯塔的方法实际上更好,这只是我用来做它的方式:P