开发者

LINQ to SQL default values

We all know that Linq to SQL (and SQLmetal/exe) is really a "prototype" quality product (it's missing basic features like schema "refresh" and detection of null columns with default value).

Is there a way to automatically create my .dbml (similar to LINQ to SQL or SQLmetal) AND have it detect NOT NULL columns that have a default value?

Requirements: It needs to be just as "easy" to generate as linq-to-sql or sqlmetal.


Clarification of what I need it for:

I have many tables with DateCreated and DateModified fields as well as some bit and enum-like (int) columns with default values; all of which should be and are not null.

I will need to regenerate ("refresh") the .dbml after making changes to the database...so (re)setting the Auto-Generate (or Auto-Sync) property to True is not something I really care to be doing nearly every time I update the schema.

The following code (based on Handling Default Values With LINQ to SQL):

namespace Project.Data
{
    public partial class ProjectDataContext
    {
        partial void OnCreated()
        {
            if (this.DateCreated == null)
            {
                this.DateCreated = Da开发者_高级运维teTime.UtcNow;
            }
        }
    }
}

doesn't compile (errors with ... does not contain a definition for 'DateCreated' ...). I really saw no reason it should compile...but I gave it a shot anyway. Maybe I just don't understand the context of the code from his example.


this.DateCreated ?? DateTime.UtcNow

?? means if left side is null then use right side

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜