gpt4 book ai didi

datetime - 流畅的 NHibernate 映射和公式/日期部分

转载 作者:行者123 更新时间:2023-12-03 03:46:14 25 4
gpt4 key购买 nike

我有一个非常简单的表,其中包含日期时间列,并且我的域对象中有此映射。

MyDate 是数据库中日期时间列的名称。

public virtual int Day { get; set; }
public virtual int Month { get; set; }
public virtual int Year { get; set; }
public virtual int Hour { get; set; }
public virtual int Minutes { get; set; }
public virtual int Seconds { get;set; }
public virtual int WeekNo { get; set; }

Map(x => x.Day).Formula("DATEPART(day, Datetime)");
Map(x => x.Month).Formula("DATEPART(month, Datetime)");
Map(x => x.Year).Formula("DATEPART(year, Datetime)");
Map(x => x.Hour).Formula("DATEPART(hour, Datetime)");
Map(x => x.Minutes).Formula("DATEPART(minute, Datetime)");
Map(x => x.Seconds).Formula("DATEPART(second, Datetime)");
Map(x => x.WeekNo).Formula("DATEPART(week, Datetime)");

这一切都很好......但是周日期部分。

我看到NHProf为选择生成了sql,这就是问题它正确生成了所有 sql,但对于周日期部分..这是生成的 SQL 的一部分:

....日期部分(日,MyDate).......日期部分(月,MyDate).......Datepart(年份,MyDate) .......日期部分(小时,MyDate).......日期部分(分钟,MyDate).......日期部分(第二个,MyDate).......Datepart(this_.week, MyDate) ...

其中 this_ 是 nhibernate 使用的表的别名。

因此它将 datepart 内容的 week 关键字视为一列或类似的内容。澄清一下,没有名为 week 的列或属性。

有什么帮助吗?

干杯

亚历山德罗

最佳答案

前面的内容没有回答问题。将间隔放在引号中应该可以,例如:

Map(x => x.WeekNo).Formula(@"DATEPART(""week"", Datetime)");

关于datetime - 流畅的 NHibernate 映射和公式/日期部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2826486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com