• SqlMetal生成的DBML文件信息


    [Database(Name="AdventureWorks")] --> 映射数据库

    [Table(Name="Customers")] --> 映射表

    [Column(Name="CustomerID")] --> 映射字段

    ColumnAttribute有以下内容:

    Name     --> 列名

    DbType   --> 数据列的类型

    Storage  --> 类的暂存字段或变量(对应数据列字段)

    IsPrimaryKey --> 是否主键

    IsDbGenerated --> 是否自增

    CanBeNull --> 是否允许null值

    AutoSync --> 在Insert或Update操作执行后得到当前Column值      

    Never: 默认值,不为插入更新操作返回值      

    OnUpdate: 只返回更新操作的值      

    OnInsert: 只返回插入操作的值

    Expression --> 数据计算数据列的值

    IsVersion --> 指定当前列的版本或时间戳

    UpdateCheck --> 在LINQ to SQL中对乐观并发操作控制      

    Always, Nerver, WhenChanged IsDiscriminator --> 鉴别列是否LINQ to SQL继承关系

    RelationShips: LINQ to SQL定义一个AssociationAttribute属性表示关系,这个属性与EntitySet(TEntity)和EntityRef(TEntity)类型一起使用表示在数据库中外键关系

    数据库中表的关系指的是主外键,LINQ to SQL 的主键是通过IsPrimaryKey来设置的,外键关系用AssociationAttribute决定

    AssociationAttribute内容:

    Name  --> 关系名

    Storage  --> 暂时存储的字段或变量

    IsUnique --> 外键是否有唯一约束

    ThisKey  --> 在实体类的成员上标识,表示本成员的联合键值

    otherkey --> 在多个目标实体上标识,表示与其他成员的联合键值

    EntitySet类:设置外键的实体 与EntityRef结合-->EntityRef引用外键的实体

    ·一对多

    1在M端:以EntityRef形式出现

    M在1端:以EntitySet形式出现

    ·一对一 在各自的类中,均以EntityRef出现

    ·多对多:表的主键通常还有其他两个表的外键混合在表中

    Linq to sql 对非侵入式和侵入式映射都支持

    有哪几种Attribute呢?

    TableAttribute

    ColumnAttribute

    AssociationAttribute

    DatabaseAttribute

    ProviderAttribute

    FunctionAttribute

    AutoSync  --> 自动同步 是一个枚举

    public enum AutoSync {  Default,  Always,  Never,  OnInsert,  OnUpdate }

    解释:在执行insert和update操作后,这个类的属性如何和数据库表对应的字段进行同步

    AutoSync.Default  --> 列在数据库中有默认值,IsDbGenerated属性标记为true时则同步

    AutoSync.Always  --> 总是进行同步

    AutoSync.Never  --> 从不进行同步

    AutoSync.OnInsert --> 在执行Insert操作后同步

    AutoSync.OnUpdate --> 在更新的时候同步

    在执行insert时,还会看到一个select代码,但我们并没有执行select操作,其实是AutoSync的原因,默认的时候IsDbGenerated为true的列是会被查出来返回的。

    CanBeNull  --> 是否允许null

    DbType  --> 创建表时,使用DbType指定列的数据类型

    Expression --> 表示一个计算列,数据表的列通过计算获取的

    IsDbGenerated --> 是否值在数据库中自动生成

    IsPrimarykey --> 是否主键

    IsVersion

    UpdateCheck

    Name  --> 属性名和列表不一致时指定

    Storage  --> 赋值给私有字段而不是直接赋值给属性

    Association:用来建立实体之间的关系

    ThisKey  --> 用来标识和别的对象关联的键,如果没有指明就用本类属性上标识有IsPrimaryKey的了

    OtherKey --> 用来定义关联的类的键,如果没有指定就用关联的那个类的标识列了

    Name --> 指定关系名,是利用映射动态创建数据库的时候建立关系用的

  • 相关阅读:
    JS随笔
    tp5 redis 单例模式 转载
    分享我编程工作经历及对软件开发前景的看法
    redis详解(一)-- 概述
    redis详解(二)-- 数据类型详解
    redis详解(四)-- 高可用分布式集群
    redis详解(三)
    新工科平台
    关于Nginx的负载均衡
    微信退款回调
  • 原文地址:https://www.cnblogs.com/rovedog/p/4385878.html
Copyright © 2020-2023  润新知