问题标签 [subsonic2.2]
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.
.net - 我如何告诉 SubSonic 2 使用不同的 .config 文件?
我在一个项目中使用 SubSonic 2,我想指定一个与默认 App.config 不同的 .config 文件。如何告诉 SubSonic 使用特定的配置文件?
c# - SubSonic:TableColumn 的 MaxLength(超过)
因此,我们将 SubSonic 用作我们的一个项目的 DAL/ORM。一切都运行得很顺利(数据库已经存在,所以我们在它上面使用了 SubSonic),但是,有时我们会遇到一个异常,说整数超出了最大长度。在这个例子中,我们的 MySql 字段是一个 int(4) 签名的。其中,根据 MySql 文档将允许以下范围:
-2147483647 至 2147483647。
现在,我的问题是,MaxLength 在 SubSonic 中是如何规定的?是位数吗?因为这意味着它只允许 -9999 到 9999,对吗?这似乎是一个相当大的差异,我希望情况并非如此,否则我们将遇到很多其他问题。
谢谢,-史蒂夫
collections - SubSonic2.2 Add() 不工作
我的数据库、客户、联系人中有 2 个表。CusID 是联系人表中的外键。我尝试了以下
客户和联系人类是用 SubSonic2.2 生成的。联系人未保存在数据库中。
subsonic - Subsonic 2.2 不更新 V 类中的 sql 更改
SubSonic 的新手,通过使用 SubSonic 2.2.1 的项目继承了它VFeedback.cs 没有,我错过了什么吗?
.net - 使用 SubSonic 和 sqlite 插入主键值 - 问题因为 SubSonic 认为列是 AutoIncrement 或不是
我正在使用 SubSonic 2.2 和 sqlite,在处理具有非 AUTOINCREMENT 的 INTEGER PRIMARY KEY 列的表时遇到了问题。根据常见问题解答:
如果您将表的一列声明为 INTEGER PRIMARY KEY,那么每当您在表的该列中插入 NULL 时,NULL 都会自动转换为一个整数,该整数比该列在所有其他行中的最大值大一在表中,如果表为空,则为 1。
所以 sqlite 认为这些列有时会自动递增(即仅在提供 NULL 值时)。问题是 SubSonic 认为它们总是自动递增的。
在我的应用程序中,我的 ID 值是从远程数据库生成的,所以我不想在 sqlite 中自动生成它们。这应该没问题:我将在此表中创建记录时简单地提供值。但是,当我使用 SubSonic 的 sonic.exe 自动生成我的 DAL 时,主键列设置为 AutoIncrement = true。这似乎意味着我无法设置 ID 列 - subsonic 的 ActiveHelper.GetInsertCommand() 忽略它,因为它认为它是自动生成的。
它确定是否为自动增量的行在 SubSonic.SQLiteDataProvider.GetTableSchema() 中:
我想解决方案是
不要将 INTEGER PRIMARY KEY 列用于在其他地方生成的键,或者
修改模板,使这些类型的列不设置为 AutoIncrement = true。这意味着 SubSonic 永远不会将它们视为自动增量,因此我需要小心我以后不会期望获得自动生成的值。不幸的是,我认为在模板中无法轻松确定该列是否真的是 AUTOINCREMENT,所以也许我不得不做一些难看的硬编码......
还有其他想法或建议吗?
.net - 在单线程上使用事务时,sqlite 和 SubSonic 的锁定问题
尝试使用带有 SubSonic 和 SQLite 的事务时,我遇到了锁定异常。我从一个线程中使用它,并且没有其他进程访问我的数据库,所以我真的没想到会出现任何此类问题。
如果我在下面编写这样的代码,我会在循环内第二次调用 Save() 时遇到异常 - 所以第三次调用 Save() 。
如果我有上面的 using() 语句,或者如果我有,using (TransactionScope ts = new TransactionScope())
那么我会收到一条System.Data.SQLite.SQLiteException
with 消息
数据库文件被锁定
数据库被锁定
堆栈跟踪是:
如果我将 using 语句以相反的方式嵌套,SharedDbConnectionScope 在外部,那么我会收到一条TransactionException
带有消息“操作对事务状态无效”。堆栈跟踪是:
内部异常是“事务超时”
我生成的 DAL 类中没有任何自定义代码,或者我能想到的任何其他聪明的东西都会导致这种情况。
其他人遇到过这样的交易问题,或者有人可以建议我从哪里开始寻找问题?
谢谢!
更新:我注意到版本 1.0.61-65(例如此处)的发行说明中提到了与事务相关的内容,因此更新 SubSonic 以使用最新版本的 .Net 数据提供程序可能会解决其中一些问题。 .
.net - 为什么 SubSonic 2.0 使用 System.Data.SQLite 版本 1.0.60.0?
任何人都知道为什么 Subsonic 2.2 使用 System.Data.SQLite 版本 1.0.60.0 而不是最新版本 1.0.65.0?也就是说,仅仅是因为它是在发布的时候,还是因为新版本中有任何不适用于 SubSonic 的东西?
其他人都使用什么 - 您是否只是使用最新的 System.Data.SQLite 从 SubSonic 的最新分支重新编译?
vb.net - 从 System.Int32 到 System.Byte[] 的亚音速无效转换
Subsonic 2.2 抛出错误
当我执行以下操作时
“模板”是一个 SubSonic 对象,其“内容”字段的类型为 Byte()
为什么是这样
lazy-loading - SubSonic 2.2 支持延迟加载
SubSonic 2.2 是否支持延迟加载?我可以延迟加载对象的属性吗?如果是,我在哪里可以找到这方面的信息?
subsonic - Subsonic 2.2、SQLite 和迁移例外
我正在玩迁移并创建了一个简单的迁移,例如
执行 sonic.exe migrate 后,我得到以下输出:
有什么提示吗?