Arj*_*anW 6 sql versioning asp.net-mvc datetime
问题简而言之:
如何在MVC.NET中做到这一点?
长版问题:
我试图在SQL表中使用DateTime列进行版本跟踪(这本身就是一个解决方案,用于在通过表的editview传回后重新附加Linq2Sql数据类)
但现在我得到"没有找到或改变行" - 异常.在ctx.submit上:
ctx.appointments.Attach(appointment,true);
ctx.SubmitChanges();
Run Code Online (Sandbox Code Playgroud)
其中ctx是我的Linq datacontext,约会我的表,并预约我试图附加的约会对象..我已将约会表设置为sugested here
建议的解决方案的读者也注意到了这个问题.他认为这是一个解决方案.
这里的问题是我不使用webforms,我使用MVC.NET.所以我猜测正在使用
<%= Html.Hidden("LastUpdate", Model.LastUpdate) %>
Run Code Online (Sandbox Code Playgroud)
使LastUpdate属性更改.那么有什么方法可以确保在传回我的更新操作时获得相同(或至少相等)的DateTime对象?
我在更新约会表时使用建议的gettime()触发器.这显然存储了一个sql datetime对象.这可能不是由Linq2SQL精确解析的.我想这也增加了问题.
我希望有一个解决方案.我知道只使用时间戳格式也可以解决它..但这超出了这个问题的范围
我认为问题在于将上次更新时间写到这样的隐藏字段中只会ToString
在默认情况下不显示毫秒的日期上执行一个操作。您可以尝试将时间戳渲染为一些绝对值,例如刻度:
<%= Html.Hidden("LastUpdate", Model.LastUpdate.Ticks) %>
Run Code Online (Sandbox Code Playgroud)
然后,您可以通过将值转换回long并重构DateTime来在另一端重构日期时间:
var dt = new DateTime(Int64.Parse(ticks));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2748 次 |
最近记录: |