问题标签 [subsonic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2328 浏览

database - SubSonic.Query 与 SubSonic.SqlQuery

我一直在使用 SubSonic.Query,直到有一天我无法通过添加 WHERE 来执行“IS NULL”,然后我意识到 SubSonic.SqlQuery 存在并且它具有“IsNull()”的功能。查了源码,Query和SqlQuery并没有以任何方式继承,那么它们的主要区别是什么,如何决定使用哪个呢?

编辑:我刚刚意识到我实际上可以通过使用“Comparison.Is”来执行“IS NULL”。这让我更加困惑,因为 SqlQuery 和 Query 几乎可以做同样的事情

0 投票
1 回答
196 浏览

subsonic - 亚音速预载对象和子对象

我正在寻找以亚音速加载带有子图的对象列表。我知道如何使用 linq to sql 和 dataloadoptions

我有这张图

产品-位置-价格

新的 Select().From().Where(Product.Columns.Id).IsEqualTo(productId).ExecuteSingle();

我想让我的产品对象预加载位置和价格,这样它们就不会延迟加载导致很多查询。

谢谢

0 投票
3 回答
460 浏览

asp.net-mvc - Subsonic 类在 ASP.NET MVC 项目中放在哪里?

我过去构建过 ASP.NET webform 项目,在生成 Subsonic 类时,我所在的团队将我们的业务层/DAL 对象放入 Project.Framework 项目中。

这仍然是推荐的结构,还是应该将 Subsonic 类直接放入 MVC Web 项目中的 /Model 文件夹?

0 投票
5 回答
62136 浏览

sql-server-2008 - 在 sys.servers 中找不到服务器“dbo”

我有很多查询数据库的服务。它们都工作正常,但调用存储过程的一项服务给了我以下错误:

在 sys.servers 中找不到服务器“dbo”。验证是否指定了正确的服务器名称。如有必要,执行存储过程 sp_addlinkedserver 将服务器添加到 sys.servers。

我不知道为什么所有其他存储过程都可以正常工作而这个不是...

顺便说一句,我使用 SubSonic 作为数据访问层。

0 投票
3 回答
456 浏览

.net - SubSonic 动态模式:SelectList

设想

我正在为我的最新项目使用 SubSonic。首先要做的事;这个项目仅限于使用 .net 3.0 并且 SubSonic 非常棒。我喜欢它。

但是,我在自定义方面遇到了一些麻烦。客户要求我们使用两个 SQL Server 2005 数据库,其中一个将复制另一个,减去一些列。

乍一看,这似乎很简单。但是,SubSonic 默认抓取所有列,导致 SQLExceptions。我想优雅地逐个表地限制选择列表。

例如,下面的代码可以解决问题,但我宁愿每次新查询时都不需要这样做:

问题

上述方法使我的代码膨胀,并且不适用于FetchByXSubSonic 生成的内置方法。有没有办法在一个表格的基础上优雅地设置默认的 SelectList ?

笔记

我曾尝试在运行时在我的部分类中从模式中删除列,但是看起来像ColNameColumn在集合中查找特定索引的列,Columns所以我的计划被挫败了。

我知道我知道

请不要“你是个白痴,你为什么要这样做?” 答案。我知道很可能有更好的方法,这似乎有点老套,但这就是我要说的。我需要一个不纠缠的解决方案。

0 投票
1 回答
287 浏览

subsonic - 亚音速忽略列

SubSonic 有没有办法更新表格的某些列?

例如

例如是否可以注释掉行users.Password = user.password; 这样该字段就不会被更新(但也不会在数据库中设置为空)。

0 投票
4 回答
1181 浏览

sql-server - Is connection pooling working correctly in Subsonic?

I am getting reports that connection pooling is not working in the Subsonic orm when used with sql server on a remote machine. I'm not sure how they are monitoring this, maybe with the profiler.

Subsonic opens late, closes early as you are supposed to do in an orm layer, but is there any problem with the implementation that would cause too many connections?

0 投票
2 回答
320 浏览

unit-testing - 您如何对 Subsonic 延迟加载属性进行单元测试?

假设我有以下要测试的功能:

现在,Order 类是 SubSonic 生成的类,并且其上的 User 属性是延迟加载的,这意味着当我调用 order.User.Email 时,它实际上会运行一条 SQL 语句来获取用户。

如果我想对此进行单元测试,我会遇到问题,因为我真的不希望我的单元测试访问我的数据库。

我当前的解决方案是将 CancelOrder 函数重构为如下所示:

然后我可以存根 _userRepository.GetUserByID() 调用以返回硬编码的用户对象。

这是最好的方法吗?我猜你可能会说第二种实现更干净,因为所有数据访问都是通过存储库完成的,而不是隐藏在属性中。

0 投票
4 回答
3352 浏览

subsonic - 从 Subsonic.Select 调用 SQL 函数

我在亚音速论坛上问了以下问题,但似乎只得到了一个回复,所以我想我也应该在这里发帖,看看是否有人可以进一步了解这个问题......

我希望使用选择工具(或查询工具)通过 SubSonic 创建以下 SQL 语句。它使用一个名为“SPLIT()”的自定义函数:

SELECT * FROM VwPropertyList
WHERE VwPropertyList.idCreatedBy = 123
AND VwPropertyList.idCounty = 45
AND 29 IN (SELECT Item FROM SPLIT(DistrictGroupList, ','))

(此 SQL 的最后一部分使用了 SPLIT 函数)

我的亚音速等效项如下所示...

将 mySelect 调暗为新 SubSonic.Select
mySelect.From(VwPropertyList.Schema)
mySelect.Where(VwPropertyList.Columns.IdCreatedBy).IsEqualTo(123)
mySelect.And(VwPropertyList.Columns.IdCounty).IsEqualTo(45)
mySelect.And(29 ).In(New SubSonic.Select("Item").From("SPLIT(" & VwPropertyList.Columns.DistrictGroupList & ", ',')"))

由于最后一部分,这不起作用..如何将“ AND 29 IN (SELECT Item FROM SPLIT(DistrictGroupList, ',')) ” 添加到我的 Subsonic.Select 中?

我从亚音速论坛得到的回复建议我取消 Subsonic.Select 并用硬编码的 InlineQuery() 语句替换.. 比如:

Dim SQL as String = "Select " & VwPropertyList.Columns.Item
SQL = SQL & " From " & VwPropertyList.Schema.TableName
SQL = SQL & " Where " & VwPropertyList.Columns.IdCreatedBy & " = @CreatedBy "
SQL = SQL & " And " & VwPropertyList.Columns.IdCounty & " = @County "
SQL = SQL & " And @DistrictGroup IN (Select Item From SPLIT(DistrictGroupList,',')"

Items = SubSonic.InlineQuery().ExecuteTypedList(Of MyItem)(SQL, 123,45,29)

如果可能的话,我更喜欢使用 SubSonic.Select,以便我可以利用分页功能等。

有任何想法吗?

0 投票
2 回答
162 浏览

subsonic - 脚手架 WhereExpression 被忽略

我正在将 SubSonic 与 Sqlite 数据库一起使用,一切都运行良好,但其中一件事不是 Scaffold 组件中的WhereExpression。我无法让它工作。WhereExpression="Emember=true" 表名="blah" >

还有其他人有这个问题吗?