BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Entity Framework Code-First CTP5发布了

| 作者 James Vastbinder 关注 0 他的粉丝 ,译者 张龙 关注 14 他的粉丝 发布于 2011年1月5日. 估计阅读时间: 3 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

近日,ADO.NET团队发布了Entity Framework Code-First Library CTP5。该程序库旨在为开发者提供一个以代码为中心的工作流用于处理数据。这也是微软在今年第一季度发布最终版前的最后一个CTP版。

凭借Entity Framework Code-First CTP5,开发者可以:

  • 无需设计器就可以开发
  • 无需基类就可以通过编写类来定义模型对象
  • 无需显式配置任何内容就可以实现数据库的持久化

CTP5中已知的问题

  • 需要对Fluent API中表与列的映射进行改进
  • 需要对CTP5早期预览版中可插拔的约定进行更多的测试
  • 只有使用Code First时才支持验证特性

从CTP4开始新增的内容

DbContext

  • 用于DbContext/DbSet的T4模板
  • 保存对象时的验证
  • 修改了Tracker API
  • DbSet.Loca公开了一个ObservableCollection,用于表示DbSet的本地内容
  • 通过iQueryable的AsNoTracking扩展方法支持No-Tracking Queries
  • DbContext配置
  • 原生的SQL查询/命令
  • 改进的并发冲突解决方式

Code First

  • 完全的数据注解支持
  • 改进的Fluent API
    • 简化的表与列的映射
    • 可以忽略掉类与属性
  • 可插拔的约定——还需要进一步完善

从CTP4以来所发生的变化

  • 新的程序集名称——EntityFramework.dll
  • 为现有的数据库支持提供更好的Code-First
  • DbContext.ObjectContext被移走了——通过((IObjectContextAdapter)myContext).ObjectContext获取上下文
  • 排除掉EdmMetadata表
  • 一些类的变更
    • System.Data.Entity.Database.DbDatabase
    • System.Data.Entity.Database.DropCreateDatabaselfModelChanges
    • System.Data.Entity.Database.DropCreateDatabaseAlways
    • System.Data.Entity.Database.CreateDatabaselfNotExists
    • System.Data.Entity.Database.SqlConnectionFactory
    • System.Data.Entity.Database.SqlCeConnectionFactory

喜欢在Visual Studio中通过NuGet来安装程序库的开发者们也可以在SQL Azure中这么做。从发布伊始,Morteza Manavi就发布了一系列文章介绍如何使用CTP5实现继承映射和实体关联。

查看英文原文:Entity Framework Code-First CTP5

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

不支持枚举 by 周 宇

不知什么时候提供正式版。

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT