我有一个MVC网站,我需要从Umbraco数据库中提取一些数据。我不需要任何Umbraco意见或任何其他内容。我是Umbraco Core库的新手。
我所做的是从我的Web项目中创建对Umbraco.core dll的引用,并将连接字符串添加到Web配置中的Umbraco数据库中。然后,我添加了一种方法来尝试检索一些数据
public IContentType GetBenefits() {
var contentTypeService = ApplicationContext.Current.Services.ContentTypeService;
var benefits = contentTypeService.GetContentType("Benefits");
return benefits;
}
ApplicationContext.Current始终为空
我正在IIS Express下的本地开发PC上运行
我还需要执行其他任何操作来实例化Umbraco连接吗?
答案 0 :(得分:0)
ApplicationContext.Current
在这种情况下将始终为null,因为ApplicationContext.Current
引用了Umbraco应用程序的当前正在运行的实例。为了拥有正在运行的实例,您需要配置,引导并运行完整的Umbraco安装。
我认为您不能单独使用Umbraco.Core
来完成此操作,并且为连接数据库而添加所有这些额外的库无论如何都是过分的。
如果您需要访问Umbraco特定的数据库内容,那么最好的选择是向实际的Umbraco实例添加Umbraco Api Controller并使用Web API公开所需的数据。
一键您可以直接连接到数据库,但是数据库已被很好地抽象和规范化,因此,除非您只需要数据库中非常特定的数据,否则这是不值得的。