ORM组件 ELinq (三)-映射配置之Attribute
2013-01-01 16:15
302 查看
ELinq 发布后,由于公司的项目比较忙,就没有时间进行撰写博文进行介绍,望大家见谅,现在元旦了该抽时间把ELinq的系列补充补充,该篇介绍Attribute的映射配置。
Attribute的映射配置方式和LinqToSQL的配置方式类似,不用太多的笔墨进行介绍每个Attribute的含义,直接用代码说话。 (以Northwind数据库的Customers表和Orders 表为例,客户和订单是一对多关系为例)
这样就非常简单的完成了OR映射,看到这里可能有人会问一对多怎么映射,比如Customer实体类里面有多个Order实体?其实也一样简单,看代码
既然一对多可以,那么多对一是不是也可以,当然,看代码
通过上面的例子想必大家对ELinq基于Attribute的配置方式有了一个了解:
TableAttribute:映射表名
IdAttribute:映射主键的, IsDbGenerated=true 属性标致主键是自动增一的
IgnoreAttribute:忽略映射的
ColumnAttribute: 映射列的
AssociationAttribute:映射关系的,一对多,多对一,一对一都用这一个标签
下一节将介绍 基于Fluent API的映射方式。
技术支持:
[b][b]官方网站 [/b][/b]
[b][b]Nuge 下载页面[/b][/b]
[b][b]ORM组件 ELinq系列[/b][/b]
[b][b]ORM组件 ELinq 更新日志[/b][/b]
ORM组件 ELinq 使用答疑
在我的博客留言,我会尽可能地抽时间来答复大家的问题。
加入 ELinq用户的 QQ群(271342583)。
谢谢大家的阅读,麻烦大伙点一下推荐,再次谢谢大家。 ^_^
Attribute的映射配置方式和LinqToSQL的配置方式类似,不用太多的笔墨进行介绍每个Attribute的含义,直接用代码说话。 (以Northwind数据库的Customers表和Orders 表为例,客户和订单是一对多关系为例)
[Table(Name = "Customers")] public class Customer { [Id(Name="CustomerId")]//主键映射 public string Id; [Column]public string ContactName; [Column]public string CompanyName; [Column]public string City; [Column]public string Country; [Ignore]public string Phone;//忽略,不映射该字段 } [Table(Name = "Orders")] public class Order { [Id(IsDbGenerated = true)]//该主键是自动增一 public int OrderID; [Column]public string CustomerID;//外键字段 [Column]public DateTime OrderDate; } public class Northwind : DbContext { //连接字符串名称:基于Config文件中连接字符串的配置 const string connectionStringName = "Northwind"; //构造dbConfiguration 对象 static DbConfiguration dbConfiguration = DbConfiguration .Configure(connectionStringName) .SetSqlLogger(() => new SqlLog(Console.Out)) .AddClass<Customer>() .AddClass<Order>() ; public Northwind() : base(dbConfiguration) { } public readonly IDbSet<Customer> Customers; public readonly IDbSet<Order> Orders; }
这样就非常简单的完成了OR映射,看到这里可能有人会问一对多怎么映射,比如Customer实体类里面有多个Order实体?其实也一样简单,看代码
[Table(Name = "Customers")] public class Customer { [Id(Name="CustomerId")]//主键映射 public string Id; [Column]public string ContactName; [Column]public string CompanyName; [Column]public string City; [Column]public string Country; [Ignore]public string Phone;//忽略,不映射该字段 //一对多映射,ThisKey:Customer.Id,OtherKey:Order.CustomerID [Association(ThisKey="Id", OtherKey="CustomerID")] public IList<Order> Orders; }
既然一对多可以,那么多对一是不是也可以,当然,看代码
[Table(Name = "Orders")] public class Order { [Id(IsDbGenerated = true)]//该主键是自动增一 public int OrderID; [Column]public string CustomerID; [Column]public DateTime OrderDate; //一对多映射,ThisKey:Order.CustomerID,OtherKey:Customer.Id [Association(ThisKey = "CustomerID", OtherKey = "Id")] public Customer Customer; }
通过上面的例子想必大家对ELinq基于Attribute的配置方式有了一个了解:
TableAttribute:映射表名
IdAttribute:映射主键的, IsDbGenerated=true 属性标致主键是自动增一的
IgnoreAttribute:忽略映射的
ColumnAttribute: 映射列的
AssociationAttribute:映射关系的,一对多,多对一,一对一都用这一个标签
下一节将介绍 基于Fluent API的映射方式。
技术支持:
[b][b]官方网站 [/b][/b]
[b][b]Nuge 下载页面[/b][/b]
[b][b]ORM组件 ELinq系列[/b][/b]
[b][b]ORM组件 ELinq 更新日志[/b][/b]
ORM组件 ELinq 使用答疑
在我的博客留言,我会尽可能地抽时间来答复大家的问题。
加入 ELinq用户的 QQ群(271342583)。
谢谢大家的阅读,麻烦大伙点一下推荐,再次谢谢大家。 ^_^
相关文章推荐
- ORM组件 ELinq (五)-映射配置之XML
- ORM组件 ELinq (四)-映射配置之FluentAPI
- ORM组件 ELinq (二) 映射配置之Table
- 组件映射配置
- 百度UEditor 上传组件 使用虚拟路径映射配置
- 转:C#制作ORM映射学习笔记二 配置类及Sql语句生成类
- 开源组件:(4)用元数据和BeanUtils写一个简单的ORM映射BaseDAO.java
- hibernate关于ORM映射文件配置(包括单文件、一对一、一对多、多对多等)
- Myeclipse自动生成Hibernate配置文件及实体类映射ORM
- ORM映射框架总结--SQL 语句生成组件
- 解决Mybatis配置ORM映射使用javaType=Date.class时候时分秒都为0
- 第32天(就业班) hibernate框架概述、ORM概念、hibernate第一个实例、api讲解、查询方式、主配置文件、映射配置、主键映射
- 在spring的配置文件里配置数据源、ORM映射、声明事件管理
- C#制作ORM映射学习笔记二 配置类及Sql语句生成类
- 8、Hibernate框架(ORM详解、主文件配置、映射文件配置)
- 国内开源ORM组件 ELinq正式版发布
- ORM组件 ELinq 更新日志
- hibernate中组件映射配置详细解析
- 自定义ORM系列(一)利用attribute实现简单的reader=>entity和reader=>List<entity>映射
- 年度开源力作-ORM组件 ELinq诞生了