我们都知道linq to sql(和sqlmetal/exe)实际上是一个“原型”质量的产品(它缺少模式“刷新”和使用默认值检测空列等基本功能)。
有没有办法
自动
创建my.dbml(类似于linq to sql或sqlmetal)并让它检测
NOT NULL
有默认值的列?
需求:它需要和linq to sql或sqlmetal一样“容易”生成。
我的澄清
需要
它的目的是:
我有很多桌子
DateCreated
和
DateModified
田野和一些
bit
像枚举一样(
int
)具有默认值的列;所有这些列都应该是
not null
.
在更改数据库之后,我需要重新生成.dML(刷新)……所以(re)设置自动生成(或)
Auto-Sync
)属性到
True
几乎每次更新模式时,我都不想做什么。
以下代码(基于
Handling Default Values With LINQ to SQL
):
namespace Project.Data
{
public partial class ProjectDataContext
{
partial void OnCreated()
{
if (this.DateCreated == null)
{
this.DateCreated = DateTime.UtcNow;
}
}
}
}
不编译(错误
... does not contain a definition for 'DateCreated' ...
)。我真的看见了
没有理由
它应该编译…但我还是试了一下。也许我只是不理解他的例子中代码的上下文。