C# ExecuteStoreQuery不使用日期时间设置器
我无法让ExecuteStoreQuery与具有DateTime成员的自定义类正确工作。它获取默认日期时间值1/1/0001 12:00:00 AM,而不是数据库中的值C# ExecuteStoreQuery不使用日期时间设置器,c#,datetime,.net-4.0,objectcontext,executestorequery,C#,Datetime,.net 4.0,Objectcontext,Executestorequery,我无法让ExecuteStoreQuery与具有DateTime成员的自定义类正确工作。它获取默认日期时间值1/1/0001 12:00:00 AM,而不是数据库中的值 List<MyInfo> results = context.ExecuteStoreQuery<MyInfo>(SELECT [StartTime] FROM [dbo].[Records] WHERE [Type] = 1).ToList(); 但是,如果我使用DateTime而不是MyInfo进行
List<MyInfo> results = context.ExecuteStoreQuery<MyInfo>(SELECT [StartTime] FROM [dbo].[Records] WHERE [Type] = 1).ToList();
但是,如果我使用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();
var scalar = Context.ExecuteStoreQuery<Object>(Your_Sql_Query_Here).FirstOrDefault();