繁体   English   中英

LINQ to SQL默认值

[英]LINQ to SQL default values

我们都知道Linq to SQL(和SQLmetal / exe)实际上是一个“原型”质量的产品(它缺少模式“刷新”和使用默认值检测空列的基本功能)。

有没有办法自动创建我的.dbml(类似于LINQ to SQL或SQLmetal)并让它检测具有默认值的NOT NULL列?

要求:它需要像linq-to-sql或sqlmetal一样“简单”生成。


澄清我需要它:

我有很多带有DateCreatedDateModified字段的表,以及一些带有默认值的bit和enum-like( int )列; 所有这些都应该是,而not null

我需要在更改数据库后重新生成(“刷新”).dbml ...所以(重新)将自动生成(或自动同步 )属性设置为True并不是我真正关心的事情。每次我更新架构。

以下代码(基于使用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' ...错误... does not contain a definition for 'DateCreated' ... )。 我真的认为它没有理由应该编译......但我还是试了一下。 也许我只是不理解他的例子中的代码的上下文。

this.DateCreated ?? DateTime.UtcNow

?? 表示如果左侧为空,则使用右侧

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM