2011-09-09 4 views

答えて

0

は、プロバイダ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 
      { 
+0

ありがとう私はそれを試してみましょう – Garvin

関連する問題