2017-01-30 55 views
1

使用:實體框架,Sql Server 2014. 我的應用程序語言環境/全球化未設置(尚未)。輸入具有日期的SQL記錄使用錯誤日期格式

我的問題是這樣的; 當日期處理周圍的一切,他們都在正確英國的日期格式的應用: - 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; } 

我有所有的日期時間屬性問題生成的代碼。

如果在UI /應用程序的日期是2017年12月1日將在數據庫中去,因爲2017年12月1日,而應該是1月12日2017年

+1

這是本地Web應用程序配置 - 您需要更改數據庫服務器。 – Hogan

+0

你是否將它保存爲.net DateTime對象,或者你只是使用字符串? –

+0

@ j.v。這是EF中的DateTime變量。 datetime在數據庫中。 –

回答

1

我必須道歉大家!事實證明我的問題是應用程序文化/語言環境。

通過添加:

<configuration> 
    <system.web> 
    <globalization 
     culture="en-GB" 
     uiCulture="en-GB" 
    /> 
    </system.web> 
</configuration> 

這工作。

我也在我的數據庫中運行了這一行,首先我不知道這兩者是否一起整理出來。

ALTER LOGIN {{MY LOGIN}} WITH DEFAULT_LANGUAGE=British