在ServiceStack OrmLite中是否可以返回键值字典,该键值字典的值是对象(类或匿名类型)?
例如:
var q = db.From<Customers>()
.Select(c => new { c.CustomerId, (c.FullName, c.Address) });
var list = db.Dictionary<int, object>(q);
在这种情况下,我希望Dictionary
项键为CustomerId
,值为具有两个属性的对象:FullName
和Address
。
我将使用Newtonsoft.Json将字典序列化为JSON,以通过密钥进行客户端查找。
答案 0 :(得分:2)
您无法在SqlExpression中进行元组投影,请使用它来选择所需的列:
var q = db.From<Customers>()
.Select(c => new { c.CustomerId, c.FullName, c.Address });
然后您可以使用C# 7 Tuple syntax to select custom columns,例如:
var rows = db.Select<(int id, string name, string address)>(q);