我想在ServiceStack OrmLite中进行一个简单的SQL连接,并将两个表作为相应的.NET对象.
在LINQ-to-Entities中,它将是这样的:
Claim.Join(Policy, c => c.PolicyId, p => p.Id, (c, p) => new { Claim = c, Policy = p })
Run Code Online (Sandbox Code Playgroud)
这会给我一个匿名类型Claim和Policy属性.
我查看了OrmLite 高级连接示例,但只选择了每种类型的一些属性为第3类对象(FullCustomerInfo).我不想在另一个对象中重复我的所有属性,我只想使用现有的对象.
实际上,查询可能要复杂得多,例如
Claim.Join(Policy, c => c.PolicyId, p => p.Id, (c, p) => new { Claim = c, Policy = p })
.Where(o => o.Policy.Something > o.Claim.Something)
.Select(o => o.Claim.SomethingElse)
Run Code Online (Sandbox Code Playgroud)
...等等,但即使OrmLite可以在SQL中进行连接,我也必须在内存中完成剩下的工作,这将是一个良好的开端.