使用:实体框架,Sql Server 2014。 我的应用程序区域设置/全球化尚未设置(尚未)。
我的问题是这个; 在处理应用程序周围的日期时,它们采用正确的英国日期格式: - dd / mm / yyyy
但是,当我使用这些日期并将它们输入我的SQL数据库(在共享的托管SQL Server上)时,它们会以美国格式输入mm / dd / yyyy。
如何更改它以便日期以英国格式进入数据库?请记住,我无法触摸服务器上的设置。
我正在考虑使用区域设置或web.config中的连接字符串,但我找不到任何可以告诉我的确定在线的确定。
我在想这会解决它但尚未尝试过。
<configuration>
<system.web>
<globalization
fileEncoding="utf-8"
requestEncoding="utf-8"
responseEncoding="utf-8"
culture="en-GB"
uiCulture="en-GB"
/>
</system.web>
</configuration>
编辑:这是由EF
生成的代码 public int CreatedBy { get; set; }
public System.DateTime CreatedDate { get; set; }
public Nullable<int> ModifiedBy { get; set; }
public Nullable<System.DateTime> ModifiedDate { get; set; }
public bool Enabled { get; set; }
public Nullable<int> ProductSettingId { get; set; }
public Nullable<int> ProductAreaMinimumPremiumId { get; set; }
public int ProductId { get; set; }
public int StatusId { get; set; }
public Nullable<System.DateTime> InceptionDate { get; set; }
public Nullable<decimal> Gross { get; set; }
public Nullable<decimal> Ipt { get; set; }
我遇到了所有DateTime属性的问题。
如果UI / app中的日期是12/01/2017,它将在2017年12月1日进入数据库,而应该是2017年1月12日。
答案 0 :(得分:1)
我必须向所有人道歉!事实证明我的问题在于应用文化/语言环境。
添加:
<configuration>
<system.web>
<globalization
culture="en-GB"
uiCulture="en-GB"
/>
</system.web>
</configuration>
那很有效。
我确实在我的数据库中运行了这一行,首先我不知道这些是否一起排除了它。
ALTER LOGIN {{MY LOGIN}} WITH DEFAULT_LANGUAGE=British