我无法让ExecuteStoreQuery
与我的自定义类正常工作,该自定义类具有DateTime
成员。它获取默认的DateTime
值(1/1/0001 12:00:00 AM),而不是数据库中的值。
List<MyInfo> results = context.ExecuteStoreQuery<MyInfo>(SELECT [StartTime] FROM [dbo].[Records] WHERE [Type] = 1).ToList();
MyInfo类定义:
public class MyInfo
{
private DateTime startTime;
public DateTime StartTime
{
get { return startTime; }
set { startTime = value; }
}
}
但是,如果我使用DateTime
而不是MyInfo进行查询,则会返回正确的日期。
List<DateTime> results = context.ExecuteStoreQuery<DateTime>(SELECT [StartTime] FROM [dbo].[Records] WHERE [Type] = 1).ToList();
答案 0 :(得分:0)
虽然我对你的问题感到困惑,但我并没有混淆,而是基于我的理解而努力帮助。 ; - )
快捷方便:
如果您只在返回日期时间方面遇到问题,则可以使用
var ls = context.ExecuteStoreQuery<MyInfo>("Select StartTime from YourTable");
List<DateTime> dt= new List<DateTime>();
foreach(MyInfo i in ls)
{
dt.Add(ls.StartTime);
}
如果您想返回自定义类的列表,那么它将只是
var list = Context.ExecuteStoreQuery<MyInfo>(Your_Sql_Query_Here).ToList();
如果只需要一个课程,我希望SIngleOrDefault()能够正常工作。
var cls = Context.ExecuteStoreQuery<MyInfo>Your_Sql_Query_Here).SingleOrDefault();
如果您只需要单个值,那么
var scalar = Context.ExecuteStoreQuery<Object>(Your_Sql_Query_Here).FirstOrDefault();