2017-03-05 105 views
0
public List<Data> GetData(string Date1, string Date2, string param3) 
{ 
    var myData= new List<FindData_Result>(); 
    using (var context = new Config()) 
    { 
     var queryResult = context.FindData(startDate, endDate, param3); 
     final= (from a in queryResult select a).ToList(); 
    } 
} 

我如何通过日期1和结束日期2作为日期时间参数,以我的存储过程?如何在实体框架通存储过程的DateTime参数

我使用MVC的Web API与实体框架(DB第一种方法)

+0

如果你的值对'DateTime'有效,那么就使参数'DateTime Date1,DateTime Date2'(但我假设你的意思是'startDate'和'endDate',而不是'Date1'和'Date2') –

回答

1

您应该将日期的字符串表示转换,开始日期和结束日期,其日期时间等同。这可以通过使用DateTime类型的Parse方法,像下面这样做:

var startDate = DateTime.Parse(Date1); 
var endDate = DateTime.Parse(Date2); 
var queryResult = context.FindData(startDate, endDate, param3).ToList(); 

您也可以使用ParseExact方法,前提是你的字符串有一个特定的格式。欲了解更多信息,请看看here

+0

尝试这和获取消息“一个查询的结果不能被枚举超过一次” – HDev007

+0

var queryResult = context.FindData(startDate,endDate,param3);在这一行 – HDev007

+0

@ HDev007最后调用'ToList',它将被修复。这样做你不需要更多的称为'final'的变量。 – Christos