SuperAPI AI 工具集

spacetimedb-csharp

编程与开发

查看项目

更新于 10-15 19:50

技能介绍

用途:为 SpacetimeDB 2.0 编写 C# 服务端模块与连接该数据库的 C# 客户端,覆盖模块开发与客户端 SDK 集成。

主要能力:表定义(partial struct、Accessor、PrimaryKey、AutoInc、Unique、BTree 索引、多列索引、Default);模块与 Reducer(静态 partial class、生命周期 Reducer、事件表与 OnInsert);数据库访问(按主键 Find/Update/Delete、唯一索引 Find、BTree Filter、Iter/Count);自定义类型与 TaggedEnum 和类型;计划表 Scheduled;日志;ReducerContext API;异常回滚;客户端安装、绑定生成、连接、订阅与本地缓存访问。

必要用法:项目文件必须命名为 StdbModule.csproj,目标 net8.0、RuntimeIdentifier 为 wasi-wasm,引用 SpacetimeDB.Runtime;需 .NET 8 SDK(不支持 .NET 9),并执行 dotnet workload install wasi-experimental。客户端安装 dotnet add package SpacetimeDB.ClientSDK,绑定生成命令 spacetime generate --lang csharp --out-dir module_bindings --module-path PATH_TO_MODULE。客户端必须定期调用 conn.FrameTick(),且不得在后台线程调用。

限制:Reducer 必须确定性,禁用文件系统、网络、定时器与 Random,改用 ctx.Rng、ctx.Timestamp;表与模块必须为 partial;索引特性需完全限定以避免与 System.Index 冲突;集合参数用 List<T>;可空用 T?;仅主键支持 Update;事件表需显式订阅,SubscribeToAllTables() 不能与 Subscribe() 混用。资料未提供收费、价格与平台信息。