相关疑难解决方法(0)

什么是一些好的实体框架替代品

我现在使用实体框架并不断编写内联sql,因为实体框架不支持全文搜索和其他功能.是否有ORM有许多支持高级查询的功能?我觉得如果我有时会写内联sql我也可以在内联sql中完成所有这些操作.这里有任何帮助

c# sql orm

19
推荐指数
5
解决办法
3万
查看次数

我应该在2016年使用哪个ORM用于与SQL服务器通信?

我的大部分服务器端体验都是使用nodeJS meteor或rails,所以我还没有丰富的.Net知识.在rails中它很容易选择ORM,因为ActiveRecord是城里唯一的游戏或者看起来如此.我的方法通常是使用ORM查询所有内容,如果你不能将它拉下来,那么请下拉到原始SQL.

但是,我正在尝试阅读有关在.Net 4.5或更新的应用程序中查询我的数据库的教程和课程,我对未来的方式感到困惑.我在下面看到教程

  • Linq Lambda语法
  • Linq查询语法
  • 实体框架

现代.net应用程序的建议ORM是什么?看起来我可以在上述所有方面做基本的CRUD操作.但是,一个人更适合说跨表加入吗?请注意,我只计划针对我的.net解决方案查询Microsoft SQL服务器数据库.

让我感到困惑的是阅读EF取代了linq然后阅读EF也使用了linq.因此,当我看到一个例子说选择所有列我不知道我是否使用过去或未来的语法.也只是看代码我不知道它的linq或EF.我可以告诉它的查询或lambda语法.

.net linq asp.net orm entity-framework

13
推荐指数
2
解决办法
2万
查看次数

nhibernate有什么,缺少实体框架4?

我们试图决定是否值得在项目中使用实体框架4.为此,我认为一个好的开始就是将它与nhibernate进行比较,nhibernate已经成熟并且经过多年的使用证明了拥有人们对企业应用程序所需的所有功能,并且找出了nHibernate缺少哪些EF4缺少的功能出去.

首先,我的知识有限:

  • 缓存:nhib有L2缓存,而EF4缓存不好(?)
  • nHibernate为大多数数据库提供了提供程序,而EF需要非sql数据库的插件
  • nHib更快/更优化
  • nHib有扩展点(例如自定义字段类型)
  • ... 还有什么?

找到一些文章:

http://ayende.com/blog/archive/2010/01/05/nhibernate-vs.-entity-framework-4.0.aspx

http://dotnetslackers.com/articles/ado_net/A-Feature-driven-Comparison-of-Entity-Framework-and-NHibernate-Multiple-Databases.aspx

http://dotnetslackers.com/articles/ado_net/A-Feature-driven-Comparison-of-Entity-Framework-and-NHibernate-Multiple-Databases-Part2.aspx

c# linq nhibernate entity-framework

11
推荐指数
2
解决办法
2111
查看次数

nHibernate vs Entity Framework与Oracle后端

现在Oracle正式支持EF(至少在Beta版本中),EF看起来是使用Oracle数据库的合理选择.另一方面,NHibernate似乎非常适合同样的工作.

有没有人有这方面的经验?对于想要开始的人的任何建议?从长远来看哪一个看起来最有意义?

nhibernate entity-framework

11
推荐指数
1
解决办法
2190
查看次数

如何在Entity Frameworks 4.0模型中指定SQL Server XML数据类型?

我正在使用Model-First模式中的Entity Frameworks 4.0(CT​​P5)构建ORM.我的一些实体具有复杂(对象树)属性,不需要是ORM实体 - 它们只对使用此数据库的后端服务器系统感兴趣,而不是对使用此数据库的客户端感兴趣.

我可以将属性的对象树序列化为字符串并将其作为字符串存储在DB中,但SQL Server XML数据类型确实很吸引人.能够以智能方式查询XML数据内容将是非常好的.

但是,我没有看到任何方法在Visual Studio实体建模器中指定我想要XML数据类型.

是完成此操作以在模型中指定字符串字段,发出DDL,然后修改DDL以将字符串字段更改为XML字段的唯一方法吗?这似乎非常脆弱,只写一次,永远不会改变.有没有更好的办法?

.net xml entity-framework entity-framework-4

10
推荐指数
1
解决办法
7955
查看次数

NHibernate与EF 4.1+

我试图主要在这个领域决定2 ORM的利弊.

  1. 与Sql Server 2008 R2和2012的兼容性.
    • 这非常重要,因为我们根本没有资源来调试对现有MS技术堆栈的不良支持.
    • 此外,自2012年以来的规划工作已基本完成,并计划迁移到该计划.
  2. 支持.NET 4.0和4.5(即将推出)
    • 再次非常重要,因为上面几乎相同的原因.
  3. 事务处理和表提示,例如.forcecan forceseek,读取未被发现.
    • 很多时候,查询优化器很好地完成了它的工作,有时我希望灵活地告诉它该做什么.
  4. 支持对话,自我跟踪附加和分离
    • 这有点基础.我讨厌长时间保持会议开放.特别是在分布式计算/ Web场环境中.
  5. 能够处理代码首先开发,创建和更新架构而不会破坏数据.
    • EF 4.1在这方面似乎很缺乏,尽管4.3越来越好.也比NH中的单独映射类更喜欢数据注释.原因是我希望能够在类中发送并且从那里能够创建持久性模型而不需要扩展映射类的方法.
  6. 支持IRepository模式
  7. 支持LINQ
    • 与上面的(6)有点关系,我希望对linq有很好的支持.我不希望开发人员使用较低级别的实现,并让自己陷入一个特定的ORM
  8. 性能
  9. 支持批量CRUD操作,无需将数据加载到应用程序层.例如.我希望将特定表的列中的所有行递增1.我不想将其加载到内存中,并逐行递增行.这对于这样一个简单的操作来说会很疯狂.Linq2Sql过去常常让Magiq处理这类事情,NH和EF有什么作用?
  10. 缓存,急切加载,延迟加载,导航属性.
    • 让我坦率地说,我暗地里讨厌这些事情.原因是很难区分什么是缓存,陈旧和新的东西.在EF中我通常会删除所有导航属性,因为我不希望这些属性加载前5,因为这是当前操作所需要的,但是在流的下游,另一个开发人员尝试进行计数,这将是不准确的.
    • 所以我的个人政策 - 所有的SOA都应该是无国籍的,除非有充分的理由.如果需要引用数据,请从持久性中获取数据.它会更慢,但代码将更具可读性和灵活性.
    • 同样适用于缓存.它在分布式环境中足够复杂,我希望所有缓存都非常明确.如果开发人员想要对缓存进行编码,它应该这样做,而不是针对ORM编写代码,并使其看起来好像他正在从持久性中提取新数据,而实际上他正在获取陈旧数据.
    • 现在的问题是,NHibernate是否有任何概念/抽象可以使缓存,eager/lazy加载比EF中当前可用的更加明确.在这种情况下,我不太关心开发的容易程度,我更关心清晰度和清晰度.

我也不太关心OSS与专有论证.团队没有时间窥视引擎盖并开始搞乱其他人的代码.我更关心"它只是工作"的角度而不是其他任何东西.

.net nhibernate orm entity-framework fluent-nhibernate

6
推荐指数
3
解决办法
2227
查看次数