gpt4 book ai didi

c# - ServiceStack.OrmLite - 我可以做类似 Db.Select() 的事情吗?

转载 作者:太空宇宙 更新时间:2023-11-03 13:27:12 24 4
gpt4 key购买 nike

如何使用 Service.OrmLite 从两个表 JOIN选择 数据,而无需为此目的创建另一个 Poco (Coal+Data)。

我有用于 Coal 和 CoalData 的 Poco,例如:

class Coal {
// PK
public long Id {get; set;}
public string Name {get; set;}
}

class CoalData {
// FK
public long Id {get; set;}
public int Prop1 {get; set;}
....
}

在 Dapper 中很简单 like :

var personWithAddress = connection
.Query<Person, Address, Extra, Tuple<Person, Address, Extra>>
(sql, (p, a, e) => Tuple.Create(p, a, e), splitOn: "AddressId,Id").First();

最佳答案

ServiceStack.OrmLite 不支持像您建议的那样连接两个或多个表。它目前只支持简单的表达式,对于连接,它建议回退到原始 SQL 查询。 See here用于 OrmLite 功能。

For anything more complex (e.g. queries with table joins) you can still easily fall back to raw SQL queries as seen below.

但是 ServiceStack.OrmLite 可能会在不久的将来获得更好的连接支持,因为这是顶部 open feature request ,但在商业 ServiceStack 产品中。

关于c# - ServiceStack.OrmLite - 我可以做类似 Db.Select<Foo, Bar>() 的事情吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22021442/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com