首页 文章

针对SQL Server的ORM建议

提问于
浏览
2

我将在我的项目中使用SQL Server,因为我想用它选择一个ORM . 我对NHibernate as an ORM有一些经验 . 事实上,鉴于该项目的性质(MySQL的后端),NHibernate确实是唯一的选择 .

我还使用了strongly typed dataset as my ORM,并且将Microsoft Access作为后端 . 我也有一些LINQ2SQL的经验 .

现在,我知道,所有路径都通往罗马;很多ORM都能很好地处理sql server . 但我想要最好的ORM

  • Development time . 也就是说,拖放设计器将我的实体类映射到数据库模式 . 因此,如果我更改模式,我的实体类会自动更新 .

  • Multiple database Support . ORM必须能够以最佳方式处理多个数据库查询 . 此外,还必须容易地进行多个连接字符串支持 .

  • Extensibility . 如果我想添加一个查询,而不想让设计师文件搞乱;他们是颈部疼痛的褶皱 .

那可能就是这样 . 有任何想法吗?

6 回答

  • 0

    根据他的要求,LLBLGen是最佳选择 . 请注意,LLBL和NH之间存在很大差异 . LLBL是ORM / Generator,您的实体将预先生成大量代码,并从数据库开始 . 因此,如果拖放是你想要的,那么一定要使用LLBL .

  • 0

    LLBLGen可能是您的选择 .

    它拥有最好的设计师应用程序之一,而且功能非常丰富 .

  • 5

    ADO .NET Entity Framework

    它似乎在某种程度上满足了每个要求,尽管并不完美

  • 3
    • 类型化数据集:0/3

    • Linq To Sql:1/3它可以执行第3项 . 它可以执行第2项:不同查询的多个连接字符串没有问题 - 但如果您想在单个查询中使用多个数据库,则必须使用视图到达那里的存储过程 . 第1项是破产 - 如果更改架构,则必须在设计器中自行刷新实体 .

  • 0

    强类型数据集不应被视为OR / M工具 . (强类型)数据集只是数据库中数据的内存表示形式(1:1表示) .

    当您使用OR / M时,您将“转换”数据库中存在的数据,内存中的业务对象(不必是数据库模型的1:1表示,可以包含其他逻辑等) . ..) .

    也许你可以看看MS实体框架,但据我所知,NHibernate在功能,性能,抽象方面仍然是更好的解决方案,你可以更好地控制它(但是,这个可能有点成本(在开发时间) . (没有拖放设计,但你可以从你的映射生成你的数据模型) .

    (迟到的反应 - 网络故障...)

  • 0

    我想建议DbBroker一个非常快速和轻量级的ORM库 .

    它针对SQL Server进行了优化 .

    DbBroker site

相关问题