实体对象动态新增模型字段

1.基类
public class BaseModel
{
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
[JsonExtensionData]
private JObject ext;

// 初始化 JObject(避免 null)
private JObject Ext => ext ?? (ext = new JObject());

public void AddExt(string key, object value)
{
// 将键值对添加到 JObject 中
Ext[key] = JToken.FromObject(value);
}
}
2.子类继承基类
public class TestModel : BaseModel
{
public int KId { get; set; }
public string Name { get; set; }
}
3.实例化基类,使用实例化对象自定义新增字段
TestModel entity = new TestModel();
entity.KId = 1;
entity.Name = "名称";
entity.AddExt("Code", "SC001");
entity.AddExt("Money", 50);
string json = JsonConvert.SerializeObject(entity);
Console.WriteLine(json);

posted @ 2025-10-28 11:40  晚霞起风了  阅读(7)  评论(0)    收藏  举报