加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

c# – MYSQL中不存在Canonical Function“EntityFunctions.Trun

发布时间:2020-12-11 23:37:00 所属栏目:MySql教程 来源:网络整理
导读:我正在尝试运行此查询: DateTime DDate=DateTime.Today; //Today's date without Timevar v= db.measurements.Where(m = EntityFunctions.TruncateTime(m.InDate) == DDate); 它只返回那两个日期相等的对象,忽略时间部分. 但我收到: {“FUNCTION [数据库]

我正在尝试运行此查询:

DateTime DDate=DateTime.Today; //Today's date without Time
var v= db.measurements.Where(m => EntityFunctions.TruncateTime(m.InDate) == DDate);

它只返回那两个日期相等的对象,忽略时间部分.

但我收到:

{“FUNCTION [数据库] .TruncateTime不存在”}

堆栈跟踪:

at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow,Int64& insertedId)
at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId,Int32& affectedRows,Int64& insertedId)
at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId,Boolean force)
at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
at MySql.Data.Entity.EFMySqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand,CommandBehavior behavior)

我正在使用:

> C#Visual Studio 2010
> EntityFramework 4数据库优先
> NetFramework 4
> MYSQL Server 5.6

MySQL.Data和MySQL.Data.Entity的版本是6.6.5.0

TruncateTime is supported by MySQL.
Same thing happened to this person. 最佳答案 我无法解决它,所以我只是在数据库中创建了一个名为“TruncateTime”的函数.

Create FUNCTION TruncateTime(dateValue DateTime) RETURNS date
return Date(dateValue);

它有效,但我不喜欢它.

这些人做了类似的事情:

Alternative to EntityFunctions.AddSeconds for MySQL

CurrentUtcDateTime does not exist – Entity Framework and MySql

所以现在我认为这可能是不必要的,我可以直接从数据库中调用它并仍然获取实体,如下所示:

var x = db.ExecuteStoreQuery

就这样.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读