我想保存一行的创建时间,所以我创建了一个datetime列,并将其默认值设置为Getdate()。但是当我从SQLMetal生成dbml文件并从中重新创建数据库时,该函数就丢失了。
我在运行SQLMetal时已将/ functions参数添加到命令行,但这并没有解决问题。
另外还有其他方法可以保存行创建时间,可以通过SQLMetal进行反向设计吗?
答案 0 :(得分:0)
我找到了一种方法来解决这个问题,方法是在INSERT之后创建一个更新列的触发器。但是SQLMetal也没有提取触发器,因此我使用方法隐藏来重载DataContext的CreateDatabase()方法,并在调用基本方法后添加触发器手册。
不是理想的解决方案,因为没有编译器检查触发器的SQL中的错误,但是我将创建一个单元测试来自动检查它。