LINQ to SQL的对象模型和基于Attribute的映射
2008-05-06 22:35
417 查看
[索引页]
挖.在上几周我写拉关于LINQ 的标准操作符号的文章,接着有发一篇关于转化泛型参数类型的文章,转化泛型参数类型能帮助我们使用LINQ to DataSet中扩展返回集合的泛型参数类型.如果你还关注LINQ to JavaScript.现在几来看LINQ to SQL,
[Database(Name="AdventureWorks")]
public class AWDB
[Table(Name = "HumanResources.Employee")]
public class Employee
[Table(Name = "Person.Contact")]
public class Contact
[Column(DBType = "int", IsPrimaryKey=true, CanBeNull=false)]
public int EmployeeID;
[Column(DBType = "nvarchar(256)", CanBeNull=false)]
public string LoginID;
[Column(DBType = "nvarchar(15)", CanBeNull=false)]
public string NationalIDNUmber;
[Column(DBType = "int",CanBeNull=false)]
public int ManagerID;
2Expression的使用
[Column(Storage="_UnitPrice", DbType="Money",Expression="UnitPrice + 1.00")]
public System.Nullable<decimal> UnitPrice
[Column(Storage = "_EmployeeID", DbType = "Int")]
public System.Nullable<int> EmployeeID
[Table(Name = "Person.Contact")]
public class Contact
[Table(Name = "Customers")]
public partial class customer
[Table(Name = "Orders")]
public partial class order
[Table(Name = "dbo.[Order Details]")]
public partial class Order_Detail
[StoredProcedure(Name="OrdersBySalesPersonID")]
public IEnumerable OrdersBySalesPersonID([Parameter(DBType = "int")] String param1)
[StoredProcedure(Name = "dbo.uspGetRoleDescription")]
public IEnumerable uspGetRoleDescription([Parameter(Name = "@description")] string description)
[StoredProcedure(Name = "dbo.uspUpdateRole")]
public int uspUpdateRole
([Parameter(Name = "@id")] Nullable id, [Parameter(Name = "@description")] string description)
[StoredProcedure(Name="OrdersBySalesPersonID")]
[return: Parameter(DbType = "numeric")]
public IEnumerable MaxOrderBySalesPersonID([Parameter(DbType = "int")]
String param1)
IExecuteResults results = this.ExecuteMethodCall<OrdersBySalesPersonID>
(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())),
param1);
}
(6)Mapping Functions
LINQ to SQL支持用户定义函数.使用方法就是attribute
[Function(Name="ufnGetcontactInformation")]
Public IQueryable<ufnGetcontactInformation>
ufnGetcontactInformation(System.Nullable<int> ContactID)
{
//
}
(7)inheritanceMappingAttribute
使用这个Attribute绘制整个继承层次关系.
欢迎评论
works guo
www.cnblogs.com/worksguo
挖.在上几周我写拉关于LINQ 的标准操作符号的文章,接着有发一篇关于转化泛型参数类型的文章,转化泛型参数类型能帮助我们使用LINQ to DataSet中扩展返回集合的泛型参数类型.如果你还关注LINQ to JavaScript.现在几来看LINQ to SQL,
[Database(Name="AdventureWorks")]
public class AWDB
[Table(Name = "HumanResources.Employee")]
public class Employee
[Table(Name = "Person.Contact")]
public class Contact
[Column(DBType = "int", IsPrimaryKey=true, CanBeNull=false)]
public int EmployeeID;
[Column(DBType = "nvarchar(256)", CanBeNull=false)]
public string LoginID;
[Column(DBType = "nvarchar(15)", CanBeNull=false)]
public string NationalIDNUmber;
[Column(DBType = "int",CanBeNull=false)]
public int ManagerID;
2Expression的使用
[Column(Storage="_UnitPrice", DbType="Money",Expression="UnitPrice + 1.00")]
public System.Nullable<decimal> UnitPrice
[Column(Storage = "_EmployeeID", DbType = "Int")]
public System.Nullable<int> EmployeeID
[Table(Name = "Person.Contact")]
public class Contact
[Table(Name = "Customers")]
public partial class customer
[Table(Name = "Orders")]
public partial class order
[Table(Name = "dbo.[Order Details]")]
public partial class Order_Detail
[StoredProcedure(Name="OrdersBySalesPersonID")]
public IEnumerable OrdersBySalesPersonID([Parameter(DBType = "int")] String param1)
[StoredProcedure(Name = "dbo.uspGetRoleDescription")]
public IEnumerable uspGetRoleDescription([Parameter(Name = "@description")] string description)
[StoredProcedure(Name = "dbo.uspUpdateRole")]
public int uspUpdateRole
([Parameter(Name = "@id")] Nullable id, [Parameter(Name = "@description")] string description)
[StoredProcedure(Name="OrdersBySalesPersonID")]
[return: Parameter(DbType = "numeric")]
public IEnumerable MaxOrderBySalesPersonID([Parameter(DbType = "int")]
String param1)
IExecuteResults results = this.ExecuteMethodCall<OrdersBySalesPersonID>
(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())),
param1);
}
(6)Mapping Functions
LINQ to SQL支持用户定义函数.使用方法就是attribute
[Function(Name="ufnGetcontactInformation")]
Public IQueryable<ufnGetcontactInformation>
ufnGetcontactInformation(System.Nullable<int> ContactID)
{
//
}
Property | Descritption | DefaultValue(if any) |
IComposable | 得到或设置是否一个方法被映射到一个函数或一个存储过程. | |
Name | 函数名 | |
TypeId | 当实现一个派生类时,为这一个Attrbute的得到一个唯一标记. | |
使用这个Attribute绘制整个继承层次关系.
欢迎评论
works guo
www.cnblogs.com/worksguo
相关文章推荐
- 基于属性的映射 (LINQ to SQL)
- 地磅称量系统之(55) 扩展LINQ to SQL Classes将数据表映射成对象后不具有的验证规则
- 地磅称量系统之(17~23)使用LINQ to SQL Classes模板将数据表和存储过程映射成对象
- LINQ TO SQL 刷新内存映射对象
- LINQ to SQL 基于属性的映射 一个常见问题
- LINQ to SQL(2):生成对象模型
- LINQ to SQL 不使用O/R设计器建表对象
- LINQ体验(12)——LINQ to SQL语句之对象标识和对象加载
- linq to sql中的自动缓存(对象跟踪)
- Linq to SQL 类型的对象图包含循环,如果禁用引用跟踪,择无法对其进行序列化。
- 使用Linq to Sql创建模型层
- 基于LINQ to SQL的WEB开发三层架构(1)
- 基于LINQ to SQL的WEB三层架构(上)
- LINQ体验(一) to SQL语句之对象标识和对象加载
- LINQ To SQL 枚举支持示例,使用鉴别器列(Discriminator Column)和继承映射(翻的)
- 黄聪:基于Linq to edmx的实体数据模型(EDM)类名批量修改工具
- 讲讲Linq to SQL映射(基础篇)
- LINQ to SQL 用O/R设计器手工建表对象
- Linq TO SQL中映射属性的说明
- Asp.net MVC 模型(Entity Framework、LinqToSql、显示数据库数据表格)