[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 --> 指定关系名,是利用映射动态创建数据库的时候建立关系用的

SqlMetal生成的DBML文件信息的更多相关文章

  1. [转]Sublime Text 新建文件快速生成Html【头部信息】和【代码补全】、【汉化】

    Sublime Text 新建文件快速生成Html[头部信息]和[代码补全].[汉化] 真心越来越喜欢sublime 这个工具,高效便捷,渐渐离不了了! 安装package control简单的安装方 ...

  2. Asp.net中存储过程拖拽至dbml文件中,提示无法获得返回值

    Asp.net中存储过程拖拽至dbml文件中,提示无法获得返回值,去属性表中设置这时候会提示你去属性表中更改返回类型. 其实存储过程返回的也是一张表,只不过有时候存储过程有点复杂或者写法不规范的话不能 ...

  3. 通过HTML5的Drag and Drop生成拓扑图片Base64信息

    HTML5 原生的 Drag and Drop是很不错的功能,网上使用例子较多如 http://html5demos.com/drag ,但这些例子大部分没实际用途,本文将搞个有点使用价值的例子,通过 ...

  4. Bitmap文件格式+生成一个BMP文件

    Bitmap的文件格式: #define UINT16 unsigned short #define DWORD unsigned int #define WORD short #define LON ...

  5. 基于MVC4+EasyUI的Web开发框架经验总结(14)--自动生成图标样式文件和图标的选择操作

    在很多Web系统中,一般都可能提供一些图标的选择,方便配置按钮,菜单等界面元素的图标,从而是Web系统界面看起来更加美观和协调.但是在系统中一般内置的图标样式相对比较有限,而且硬编码写到样式表里面,这 ...

  6. vs2008生成的各种文件

    一.sln文件     .sln(Solution)解决方案文件,表示一个项目组,他通常包含一个项目中所有的工程文件信息.   二.suo文件     suo(Solution User Option ...

  7. vs 自动生成core dump文件

    一直以来觉着core dump这个东西很神奇,在初步学习的时候也没有个大方向,最近项目需要记录程序崩溃时的日志信息,因此在网上寻找相关的信息,此时core dump也成为了我重点关注的东西. 说说我的 ...

  8. 由动态库文件dll生成lib库文件(手动生成.def文件,然后使用lib命令编译,非常牛),同理可使用dll生成.a库文件

    本文基于OpenBlas的编译和安装,来说明如何从一个dll文件生成lib库文件. 参考OpenBlas的说明“Howto generate import library for MingW”,和Mi ...

  9. Qt之生成Window资源文件(.rc 文件)

    简述 qmake 可以随意地自动生成一个适当填充的 Windows 资源文件.本节主要讲解如何用 qmake 处理一个 Windows 资源文件,并将其链接到一个可执行应用程序(EXE)或动态链接库( ...

随机推荐

  1. ECharts(Enterprise Charts 商业产品图表库)初识

    一.简介 大数据时代,重新定义图表的时候到了,所以随之ECharts就随之出现了. ECharts(Enterprise Charts 商业产品图表库) 是基于Canvas的,纯Javascript ...

  2. Jquery使用小技巧

    1. 禁止右键使用 view plaincopy to clipboardprint? 1.       $(document).ready(function(){ 2.           $(do ...

  3. O365(世纪互联)SharePoint 之文档库使用小记

    前言 当O365越来越流行的时候,大家往往更多使用的是传统的Office功能,有太少订阅用户能触及到O365的一个非常棒的功能,叫做SharePoint online. 下面,我们就以图文并茂的方式, ...

  4. iOS之There was an internal API error错误

    There was an internal API error. 错误原因:把Product Name作为程序名称,程序名称错乱 解决方法:检查Product Name, 不要包含中文以及特殊字符.在 ...

  5. 自己实现苹果安装app动画

    最近在学习CALayer相关动画,然后某一天突然发现苹果安装app这动画就很不错啊,所以就想自己实现下. 具体效果如图: 还是不试不知道一试吓一跳啊,这看上去简单的动画没我想象的那么简单. 首先这个动 ...

  6. iOS 获取用户授权的用户隐私保护-地图定位

    获取用户授权的用户隐私保护地图定位示例://导入定位框架#import<CoreLocation/CoreLocation.h>@interfaceViewController()< ...

  7. Android 四大组件之Activity(续2)

    1.生命周期 关于生命周期,在详细讲解下: 上图是从android官网获取的生命周期. 正常的流程,很多文章都讨论过了,我们讨论几个特殊的情况. 1)OnResume->OnPause-> ...

  8. [C#6] 4-string 插值

    0. 目录 C#6 新增特性目录 1. 老版本的代码 internal class Person { public string Name { get; set; } public int Age { ...

  9. Meet Sccot Guthrie in Shanghai

    9月16日,有幸和其他9位MVP一起在上海和微软全球副总裁Sccot Guthrie.开发工具部门Somasegar.微软中国申元庆见面,聊关于Azure和开发方面的话题.同时,由于本人目前对物联网( ...

  10. FindBugs 入门——帮你减少代码中的bug数

    FindBugs 入门 FindBugs 作用 开发人员在开发了一部分代码后,可以使用FindBugs进行代码缺陷的检查.提高代码的质量,同时也可以减少测试人员给你报的bug数. 代码缺陷分类 根据缺 ...