我一直在检查 ServiceStack 的文档,但我还没有找到一种方法来与 ServiceStack.OrmLite 建立多对多关系,它是否支持?是否有解决方法(不编写原始 sql)?
我想要这样的东西:
文章 <- ArticleToTag -> 标签
谢谢!!
我一直在检查 ServiceStack 的文档,但我还没有找到一种方法来与 ServiceStack.OrmLite 建立多对多关系,它是否支持?是否有解决方法(不编写原始 sql)?
我想要这样的东西:
文章 <- ArticleToTag -> 标签
谢谢!!
如果这就是您的意思,它不会在幕后自动为您自动处理?但由于 OrmLite 只是 ADO.NET 接口的一个薄包装器,因此一切皆有可能。
在OrmLite中,默认情况下,每个 POCO 都以1:1的比例映射到一张表。因此,如果您想要表格布局,您可以按照它在数据库中的外观创建它,例如
var article = new Article { ... };
var tag = new Tag { ... };
var articleTag = new ArticleTag { ArticleId = article.Id, TagId = tag.Id };
db.Insert(article, tag, articleTag);
尽管您可能希望利用 OrmLite 中的内置 blob,其中任何复杂类型都只会被序列化并存储在单个文本字段中。因此,您可以执行以下操作:
var article = { new Article { Tags = { "A","B","C" } };
Tags只是一个, OrmLiteList<string>
会为您在数据库字段中透明地序列化它。