Apply more review suggestions

This commit is contained in:
Patrick Barron 2020-05-15 12:51:18 -04:00
parent 953777f1ba
commit a5dee36808
5 changed files with 12 additions and 14 deletions

View File

@ -53,6 +53,7 @@ namespace Jellyfin.Data.Entities
/// <param name="name">The name.</param>
/// <param name="type">The type.</param>
/// <param name="userId">The user's id.</param>
/// <returns>The new <see cref="ActivityLog"/> instance.</returns>
public static ActivityLog Create(string name, string type, Guid userId)
{
return new ActivityLog(name, type, userId);
@ -63,7 +64,7 @@ namespace Jellyfin.Data.Entities
*************************************************************************/
/// <summary>
/// Gets the identity of this instance.
/// Gets or sets the identity of this instance.
/// This is the key in the backing database.
/// </summary>
[Key]

View File

@ -1,5 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Jellyfin.Data.Entities;
@ -56,7 +55,7 @@ namespace Jellyfin.Server.Implementations.Activity
{
using var dbContext = _provider.CreateContext();
var query = func(dbContext.ActivityLogs).OrderByDescending(entry => entry.DateCreated).AsQueryable();
var query = func(dbContext.ActivityLogs.OrderByDescending(entry => entry.DateCreated));
if (startIndex.HasValue)
{
@ -69,12 +68,12 @@ namespace Jellyfin.Server.Implementations.Activity
}
// This converts the objects from the new database model to the old for compatibility with the existing API.
var list = query.AsEnumerable().Select(ConvertToOldModel).ToList();
var list = query.Select(ConvertToOldModel).ToList();
return new QueryResult<ActivityLogEntry>
{
Items = list,
TotalRecordCount = dbContext.ActivityLogs.Count()
TotalRecordCount = func(dbContext.ActivityLogs).Count()
};
}

View File

@ -107,10 +107,11 @@ namespace Jellyfin.Server.Implementations
public override int SaveChanges()
{
foreach (var entity in ChangeTracker.Entries().Where(e => e.State == EntityState.Modified))
foreach (var saveEntity in ChangeTracker.Entries()
.Where(e => e.State == EntityState.Modified)
.OfType<ISavingChanges>())
{
var saveEntity = entity.Entity as ISavingChanges;
saveEntity?.OnSavingChanges();
saveEntity.OnSavingChanges();
}
return base.SaveChanges();

View File

@ -12,9 +12,7 @@ namespace Jellyfin.Server.Implementations.Migrations
public JellyfinDb CreateDbContext(string[] args)
{
var optionsBuilder = new DbContextOptionsBuilder<JellyfinDb>();
optionsBuilder.UseSqlite(
"Data Source=jellyfin.db",
opt => opt.MigrationsAssembly("Jellyfin.Migrations"));
optionsBuilder.UseSqlite("Data Source=jellyfin.db");
return new JellyfinDb(optionsBuilder.Options);
}

View File

@ -106,11 +106,10 @@ namespace Jellyfin.Server.Migrations.Routines
newEntry.ItemId = entry[5].ToString();
}
// Since code references the Id of the entries, this needs to be inserted in order.
// In order to do that, we insert one by one because EF Core doesn't provide a way to guarantee ordering for bulk inserts.
dbContext.ActivityLogs.Add(newEntry);
dbContext.SaveChanges();
}
dbContext.SaveChanges();
}
try