我无法让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();
我的信息类定义:
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();
虽然我对你的问题感到困惑,但我不是困惑,而是试图根据我的最佳理解提供帮助。
快速简便的方法:
-
如果您在仅返回日期时间时遇到问题,则可以使用
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();