You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过C#代码编程修改2sxc实体结构:增删改属性、变更类型

在2sxc中通过C#编程操作实体类型(ContentType)结构

要操作2sxc的实体类型结构(添加/删除/修改属性),你需要用到ContentType相关API,而非之前用来读取实体数据的Data集合。以下是具体操作步骤和代码示例:

获取目标ContentType对象

从IApp实例的ContentTypes集合中获取你要修改的实体类型:

// 假设已获取有效的IApp实例appObject
var targetContentType = appObject.ContentTypes.Get("MyEntityType");
if (targetContentType == null)
{
    // 处理实体类型不存在的场景
    return;
}

操作实体类型属性

添加新属性

使用AddField方法添加属性,需指定字段名、数据类型、显示名称:

// 添加一个名为"ProductDesc"的短文本字段,显示名称为"产品描述"
targetContentType.AddField("ProductDesc", "string", "产品描述");

// 添加必填的数字类型字段
var newField = targetContentType.AddField("StockCount", "int", "库存数量");
newField.Required = true;

修改现有属性

先获取目标字段,再修改其配置(类型、必填性、名称等):

var priceField = targetContentType.Fields.Get("Price");
if (priceField != null)
{
    // 将字段类型从int改为decimal
    priceField.Type = "decimal";
    // 设置字段为必填
    priceField.Required = true;
    // 修改显示名称
    priceField.Label = "售价(元)";
}

删除属性

通过字段名称从Fields集合中移除:

// 删除名为"OldObsoleteField"的属性
targetContentType.Fields.Remove("OldObsoleteField");

保存结构变更

所有修改完成后,调用Save方法将变更持久化到系统:

appObject.ContentTypes.Save(targetContentType);

注意事项

  • 权限要求:操作实体类型结构需要Host或Admin级别的权限,否则会抛出权限异常。
  • 数据影响:修改结构会直接影响现有实体数据,比如删除属性会丢失该字段的所有数据,添加属性会给现有实体设置默认值(通常为null),操作前建议备份数据。
  • API依赖:确保项目引用了2sxc的核心程序集(如ToSxc.dll),并使用ToSxc.ContentTypes命名空间下的类型。

内容的提问来源于stack exchange,提问作者Constantine Ketskalo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 16:10:04