Return OrmLite 中带有对象值的字典
Return Dictionary with Object Value in OrmLite
在 ServiceStack OrmLite 中是否可以 return 一个键值字典,其值是一个对象(class 或匿名类型)?
例如:
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,以便通过键进行客户端查找。
你不能在 SqlExpression 中做元组投影,你会用它来 select 你想要的列:
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);
在 ServiceStack OrmLite 中是否可以 return 一个键值字典,其值是一个对象(class 或匿名类型)?
例如:
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,以便通过键进行客户端查找。
你不能在 SqlExpression 中做元组投影,你会用它来 select 你想要的列:
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);