diff --git a/src/Umbraco.Core/Services/ContentTypeServiceBase.cs b/src/Umbraco.Core/Services/ContentTypeServiceBase.cs
index c2dfd687dd..ef089a3c22 100644
--- a/src/Umbraco.Core/Services/ContentTypeServiceBase.cs
+++ b/src/Umbraco.Core/Services/ContentTypeServiceBase.cs
@@ -83,7 +83,7 @@ namespace Umbraco.Core.Services
///
public bool HasContainerInPath(string contentPath)
{
- using (var uow = UowProvider.GetUnitOfWork())
+ using (var uow = UowProvider.GetUnitOfWork(readOnly: true))
{
// can use same repo for both content and media
var repository = RepositoryFactory.CreateContentTypeRepository(uow);
diff --git a/src/Umbraco.Core/Services/ExternalLoginService.cs b/src/Umbraco.Core/Services/ExternalLoginService.cs
index 71ad0fcce9..2d2baeeb07 100644
--- a/src/Umbraco.Core/Services/ExternalLoginService.cs
+++ b/src/Umbraco.Core/Services/ExternalLoginService.cs
@@ -14,8 +14,7 @@ namespace Umbraco.Core.Services
{
public ExternalLoginService(IDatabaseUnitOfWorkProvider provider, RepositoryFactory repositoryFactory, ILogger logger, IEventMessagesFactory eventMessagesFactory)
: base(provider, repositoryFactory, logger, eventMessagesFactory)
- {
- }
+ { }
///
/// Returns all user logins assigned
@@ -23,30 +22,32 @@ namespace Umbraco.Core.Services
///
///
public IEnumerable GetAll(int userId)
- {
- using (var uow = UowProvider.GetUnitOfWork())
+ {
+ using (var uow = UowProvider.GetUnitOfWork(readOnly: true))
{
+ // ToList is important here, must evaluate within uow!
var repo = RepositoryFactory.CreateExternalLoginRepository(uow);
- var ret = repo.GetByQuery(new Query().Where(x => x.UserId == userId));
- uow.Commit();
- return ret;
+ return repo.GetByQuery(new Query()
+ .Where(x => x.UserId == userId))
+ .ToList();
}
}
///
- /// Returns all logins matching the login info - generally there should only be one but in some cases
+ /// Returns all logins matching the login info - generally there should only be one but in some cases
/// there might be more than one depending on if an adminstrator has been editing/removing members
///
///
///
public IEnumerable Find(UserLoginInfo login)
{
- using (var uow = UowProvider.GetUnitOfWork())
+ using (var uow = UowProvider.GetUnitOfWork(readOnly: true))
{
+ // ToList is important here, must evaluate within uow!
var repo = RepositoryFactory.CreateExternalLoginRepository(uow);
- var ret = repo.GetByQuery(new Query().Where(x => x.ProviderKey == login.ProviderKey && x.LoginProvider == login.LoginProvider));
- uow.Commit();
- return ret;
+ return repo.GetByQuery(new Query()
+ .Where(x => x.ProviderKey == login.ProviderKey && x.LoginProvider == login.LoginProvider))
+ .ToList();
}
}
@@ -78,7 +79,5 @@ namespace Umbraco.Core.Services
uow.Commit();
}
}
-
-
}
}
\ No newline at end of file