0
私はSubsonicが自動的に私の監査フィールド "CreatedOn"を更新するのは気に入っていますが、それはサーバ時間にのみ行うようです。監査日をUTCとして保存するようにSubsonicに指示する方法はありますか?サブソニック監査フィールドのタイムゾーンを設定するにはどうすればよいですか?
私はSubsonicが自動的に私の監査フィールド "CreatedOn"を更新するのは気に入っていますが、それはサーバ時間にのみ行うようです。監査日をUTCとして保存するようにSubsonicに指示する方法はありますか?サブソニック監査フィールドのタイムゾーンを設定するにはどうすればよいですか?
は、プロバイダuseUTC =「true」を の設定があります。しかし、それはそうずっと前に、それが動作するかどうか、私は覚えていないことができます。私にとって
<SubSonicService defaultProvider="TAProvider"
templateDirectory="..\..\ExternalResources\SubSonicCustomTemplates">
<providers>
<clear/>
<add name="TAProvider" type="SubSonic.SqlDataProvider, SubSonic"
connectionStringName="TA" generatedNamespace="TA.DAL" useUTC="true"
useSPs="false" generateLazyLoads="false"/>
</providers>
</SubSonicService>
、フィールドがこれまでにUTC時刻である場合、私はいつもそれが私がタイムゾーンとは何でひどく混乱だけで原因xxxUTC呼び出すので、私は以下のようにコントローラテンプレートの保存方法を変更しました。基本的には列をチェックし、必要に応じて設定してください。
<%=tbl.ClassName %> oldItem = null;
if (item.<%=tbl.PrimaryKey.PropertyName%> != <%=emptyVariableText%>)
oldItem = new <%=tbl.ClassName %>(item.<%=tbl.PrimaryKey.PropertyName%>);
if (item.<%=tbl.PrimaryKey.PropertyName%> == <%=emptyVariableText%>)
{
item.IsNew = true;
<% if (tbl.Columns.Contains("CreatedOnUTC"))
{
%> item.CreatedOnUTC = DateTime.UtcNow;
<% }
if (tbl.Columns.Contains("CreatedOn")) // just checking
{
%> error: createdon column. fix and rerun template
<% }
if (tbl.Columns.Contains("CreatedByID"))
{
%> item.CreatedByID = taUser.telUser.TelUserID;
<% }
%>
}
<% if (tbl.Columns.Contains("ModifiedOnUTC"))
{
%> item.ModifiedOnUTC = DateTime.UtcNow;
<%}
if (tbl.Columns.Contains("ModifiedByID"))
{
%> item.ModifiedByID = taUser.telUser.TelUserID;
<% }
%>
try
{
ありがとう私はそれを試してみましょう – Garvin