- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在为一个重要项目寻找新的 ORM,我习惯于使用 ActiveRecord 进行 nHibernate,并且我已经对 EF4、性能和崩溃的 GUI 有了非常糟糕的体验。
所以在网上搜索我找到了 Subsonic,我喜欢我在文档中读到的内容。
所以,我想知道是否有人已经使用过 Subsonic,体验是否良好。
最佳答案
嗯……嗯……怎么说呢……
我目前(就像现在一样)正在努力用 PetaPoco 替换 SubSonic 。我想这说明了什么。
并不是说 SubSonic 很糟糕,而是它不太适合我的开发方式。对于希望在这一点上采用它的人来说, 非常 很重要,要注意该项目绝对缺乏事件。
首先,SubSonic 不适合我的最大原因是 LINQ。
可以肯定的是,编译器检查所有属性的使用是很有吸引力的。然而,在实践中,它根本不适合查询。
如果您非常坚持使用 class-per-table 和 ActiveRecord,我想没问题。但是,每当我们不得不进行任何超出此范围的查询时(任何涉及多个表的查询或任何超出最简单 where 子句的查询),这都是一场噩梦。关联 不能在 SubSonic LINQ 查询中直接使用 ,就像它们可以在 EF 或 nHibernate 中一样,这可能是最大的痛点。
例如,像这样的查询将 而不是 在 SubSonic 中工作,但在 EF 中会:
db.Accounts.Where(a => a.OwningUser.Email != null);
CodingHorror
类直接使用 SQL 查询,并且无法简单地将它们具体化为 POCO(再次,当超越简单的类时 -每个表)。
关于c# - 亚音速 ORM 体验,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6283312/
这是一个令人尴尬的基本 n 层问题。 我在 VS2008 中使用亚音速创建了一个 DAL 项目。它有一个小部件类、一个小部件集合类和一个小部件 Controller 类。 我创建了引用它的业务逻辑项目
我有一个古老的困惑,我正在尝试使用亚音速将其铲入层中。问题是,我有这样的情况: 当 Hal 登录时,他的登录名使用数据库 X 来查找数据,使用数据库 Y 来查找他的帐户,使用数据库 Z 来查找他的联系
我有一个使用 Subsonic 生成的不错的 DAL。有没有办法为 BLL 生成骨架?我不想将 SS 层直接插入我的 GUI。 我浏览了两个 SS 论坛,似乎每个人都称 SSS 生成的层为 DAL,但
尝试使用 linq 在 subsonic 中进行左连接,但它似乎不起作用,我遇到了一个大错误。 我很确定查询是正确的,因为我已经用对象和 Linq2Sql 做了几次。 var
我有一个数据库表(Profile)来描述一个人。该表有一列“性别”(整数)。在 .NET 部分我有: public enum Sex { Male = 1, Female = 2 } public c
据我所知,Subsonic 2.2 需要 MySQL.data 5.2.3 dll。我正在尝试在 Visual Studio 中为 VB 项目集成亚音速 DAL。该项目已经使用了大量数据集。因此,Vi
我正在玩弄 Subsonic 3 的简单存储库,但在理解如何处理外键时遇到了瓶颈...... 如果我有一个产品对象包含 int ID; string name; string description;
我正在为一个重要项目寻找新的 ORM,我习惯于使用 ActiveRecord 进行 nHibernate,并且我已经对 EF4、性能和崩溃的 GUI 有了非常糟糕的体验。 所以在网上搜索我找到了 Su
好的, 我热切地等待 subsonic 3.0 的发布以用作我的低级数据层,现在它已经发布了。我目前正在使用 ActiveRecord 模板(尝试了存储库和高级模板)并且我有一个巨大的请求和几个问题:
有没有办法用 subsonic 执行自连接? 最佳答案 subsonic 上曾经有过关于这个的讨论,现在已经死了。它基本上说: it is [not] possible with SqlQuery y
运行最新版本的 SubSonic (3.0.0.3)。检索单个记录、更改一个字段并调用 .Save 会导致以下代码中的空引用异常: 公共(public)无效更新(IDataProvider 提供者){
我正在尝试使用 Subsonic3 中的 SimpleRepository 功能 - 首先,我必须对 RobC 表示衷心的感谢 - Subsonic 真的很棒,我迫不及待地想看到 SimpleRepo
我正在玩弄 Subsonic 3.0 SimpleRepository 并尝试使用一个 linq 查询获取菜单和菜单项,但菜单项始终为空 菜单 public class Menu { publ
这里有什么问题?这就是我在 Subsonic 2 CodingHorror 示例中发现的方法,但不起作用:( new CodingHorror().Execute("SELECT * FROM pro
我有一个带有主键 (Identity) 和几个 varchar 类型列的简单表。我尝试使用以下语法删除/销毁具有给定主键的记录: SS3Test.DAL.TestClass.Destroy(x =>
有什么区别:.Save(); 。添加();.Update(): 最佳答案 您没有提及您正在使用哪些模板(我将假设 ActiveRecord),但作为一般规则: 如果对象保存将插入IsNew==true
Subsonic 3.0 的新手,想知道如何对对象属性执行 LIKE 运算符。给定以下类(class),我将如何使用 Subsonic 3.0 执行 LIKE 操作。例如 SELECT * FROM
我遇到了以下情况,我有 2 个表(产品和类别)。 Products 表中的字段 CategoryID 具有 Categories 表的外键。 现在,对于我的 CMS 中的数据表,我正在寻找一种方法来根
有人可以帮忙吗?当我尝试生成我的 Structs.cs 文件时,该过程失败并出现错误,因为 MySQL 提供程序未返回 SchemaName。 "错误 3 运行转换:System.ArgumentNu
我最近尝试将一个由 SubSonic 2.2 生成 DAL 的 .net 2.0 项目升级到 Visual Studio 2010 下的 .NET 4.0。 项目转换没有错误,但现在我在尝试启动它时收
我是一名优秀的程序员,十分优秀!