ServiceStack OrmLite:使用默认数据库约束而不是数据模型中的空值
ServiceStack OrmLite: Use default database constraint instead of null value from data model
我对这些技术还是很陌生。我 运行 遇到了一个小问题,它可以通过编写一些惰性代码来解决...但是 OrmLite 和 ServiceStack 简化了很多事情,我想知道是否有更好的方法来做到这一点。
所以,我有一个数据模型:
public class cctv_camera
{
[AutoIncrement]
public int I_id { get; set; }
public string I_sid { get; set; }
public string C_store_id { get; set; }
// .... others
}
此数据模型映射到 table、cctv_camera。在从这个 table 进行一些连接后,还有另一个模型(称为 CamDetail)被发送到客户端。我们正在 POST 上从客户端接收回一个 CamDetail 对象以保存到数据库并使用数据 (new lp_cctv_camera().PopulateWith(CamDetail);
).
填充 lp_cctv_camera
的实例
事情是这样的:I_sid
列是一个 NOT NULL 列,具有为该行生成散列的默认约束。这是数据库负责的事情,所以新项目不应该INSERT
这一栏;它应该由约束生成。
有什么方法可以 db.Insert(lp_cctv_camera)
而忽略此列?我已经在定义中尝试了 [Ignore]
属性,但我们仍然需要在定义中使用它来将现有的 I_sid
发送到客户端。我真的在文档中找不到任何东西。感谢您的帮助!
我们添加了一个明确的 [IgnoreOnInsert]
属性,您可以使用它来忽略 Insert 上的特定属性,即 available on v4.5.13 on MyGet。
在 v4.5.13 之前,您可以使用 [Compute]
属性来获得类似的行为并在插入期间忽略字段,例如:
public class cctv_camera
{
[AutoIncrement]
public int I_id { get; set; }
[Compute]
public string I_sid { get; set; }
public string C_store_id { get; set; }
// .... others
}
我对这些技术还是很陌生。我 运行 遇到了一个小问题,它可以通过编写一些惰性代码来解决...但是 OrmLite 和 ServiceStack 简化了很多事情,我想知道是否有更好的方法来做到这一点。
所以,我有一个数据模型:
public class cctv_camera
{
[AutoIncrement]
public int I_id { get; set; }
public string I_sid { get; set; }
public string C_store_id { get; set; }
// .... others
}
此数据模型映射到 table、cctv_camera。在从这个 table 进行一些连接后,还有另一个模型(称为 CamDetail)被发送到客户端。我们正在 POST 上从客户端接收回一个 CamDetail 对象以保存到数据库并使用数据 (new lp_cctv_camera().PopulateWith(CamDetail);
).
lp_cctv_camera
的实例
事情是这样的:I_sid
列是一个 NOT NULL 列,具有为该行生成散列的默认约束。这是数据库负责的事情,所以新项目不应该INSERT
这一栏;它应该由约束生成。
有什么方法可以 db.Insert(lp_cctv_camera)
而忽略此列?我已经在定义中尝试了 [Ignore]
属性,但我们仍然需要在定义中使用它来将现有的 I_sid
发送到客户端。我真的在文档中找不到任何东西。感谢您的帮助!
我们添加了一个明确的 [IgnoreOnInsert]
属性,您可以使用它来忽略 Insert 上的特定属性,即 available on v4.5.13 on MyGet。
在 v4.5.13 之前,您可以使用 [Compute]
属性来获得类似的行为并在插入期间忽略字段,例如:
public class cctv_camera
{
[AutoIncrement]
public int I_id { get; set; }
[Compute]
public string I_sid { get; set; }
public string C_store_id { get; set; }
// .... others
}