ServiceStack.OrmLite:插入或更新POCO中未表示的列?

时间:2018-08-07 05:55:41

标签: mysql servicestack ormlite-servicestack

我浏览了文档,但没有找到关于此主题的任何信息,但是我想请确保:

OrmLites INSERT和UPDATE API是否有可能在一个查询中插入/更新POCO中不存在的列?

DateTime myTimestamp = DateTime.Now;
db.Insert<MyPoco>(myPoco, new { MyNewColumn=myTimeStamp });

或类似的东西?

我知道我可以创建一个自定义SQL,因此可以进行第二次查询,插入自定义列,或者自己编写整个内容,但我想避免这种情况,让OrmLite进行其应做的事情。

Thx

1 个答案:

答案 0 :(得分:1)

OrmLite是类型化代码优先的ORM,其中每个POCO都是权威来源,将1:1映射到各自的RDBMS表。

您不能将OrmLite的类型化API用于未知或动态架构,而需要Execute Custom SQL INSERT,例如:

db.ExecuteSql(
    "INSERT INTO page_stats (ref_id, fav_count) VALUES (@refId, @favCount)", 
     new { refId, favCount });