public SaveResult Delete(object dtokey) { using (NosCoreContext context = DataAccessHelper.Instance.CreateContext()) { DbSet <TEntity> dbset = context.Set <TEntity>(); if (dtokey is IEnumerable) { foreach (object key in dtokey as IEnumerable) { TEntity entityfound = dbset.Find(key); if (entityfound != null) { dbset.Remove(entityfound); context.SaveChanges(); } } } else { TEntity entityfound = dbset.Find(dtokey); if (entityfound != null) { dbset.Remove(entityfound); } } context.SaveChanges(); return(SaveResult.Saved); } }
public void Test_All_NullableForeignKeyAreAssociatedToNullableEntity() { using var ctx = new NosCoreContext(new DbContextOptionsBuilder <NosCoreContext>().UseInMemoryDatabase( Guid.NewGuid().ToString()).Options); var nonNullNavigation = new StringBuilder(); foreach (var entityType in ctx.Model.GetEntityTypes()) { foreach (var navigation in entityType.GetNavigations()) { var foreignKey = navigation.ForeignKey.Properties[0].PropertyInfo.PropertyType; if (navigation.IsCollection || foreignKey == null || !foreignKey.IsGenericType || foreignKey.GetGenericTypeDefinition() != typeof(Nullable <>)) { continue; } if (!IsNullable(navigation.PropertyInfo)) { nonNullNavigation.AppendLine( $"{entityType.Name} -> {navigation.Name} is not nullable but it's foreign key is not required"); } } } Assert.AreEqual(string.Empty, nonNullNavigation.ToString()); }
public void EnsureDeleted(SqlConnectionStringBuilder Database) { _conn = Database; using (NosCoreContext context = CreateContext()) { context.Database.EnsureDeleted(); } }
public LoginServer(IOptions <LoginConfiguration> loginConfiguration, NetworkManager networkManager, ILogger logger, IChannelHttpClient channelHttpClient, NosCoreContext context) { _loginConfiguration = loginConfiguration; _networkManager = networkManager; _logger = logger; _channelHttpClient = channelHttpClient; _context = context; }
public void EnsureDeleted(SqlConnectionConfiguration Database) { _conn = Database; using (NosCoreContext context = CreateContext()) { context.Database.EnsureDeleted(); } }
public IEnumerable <TDTO> LoadAll() { using (NosCoreContext context = DataAccessHelper.Instance.CreateContext()) { DbSet <TEntity> dbset = context.Set <TEntity>(); foreach (TEntity t in dbset) { yield return(_mapper.Map <TDTO>(t)); } } }
public SaveResult InsertOrUpdate(IEnumerable <TDTO> dtos) { try { using (NosCoreContext context = DataAccessHelper.Instance.CreateContext()) { context.ChangeTracker.AutoDetectChangesEnabled = false; DbSet <TEntity> dbset = context.Set <TEntity>(); List <TEntity> entitytoadd = new List <TEntity>(); foreach (TDTO dto in dtos) { TEntity entity = _mapper.Map <TEntity>(dto); object value = _primaryKey.GetValue(dto, null); TEntity entityfound = null; if (value is object[]) { entityfound = dbset.Find((object[])value); } else { entityfound = dbset.Find(value); } if (entityfound != null) { _mapper.Map(entity, entityfound); context.Entry(entityfound).CurrentValues.SetValues(entity); } if (value == null || entityfound == null) { //add in a temp list in order to avoid find(default(PK)) to find this element before savechanges entitytoadd.Add(entity); } } dbset.AddRange(entitytoadd); context.ChangeTracker.AutoDetectChangesEnabled = true; context.SaveChanges(); return(SaveResult.Saved); } } catch (Exception e) { Logger.Error(e); return(SaveResult.Error); } }
public TDTO FirstOrDefault(Expression <Func <TEntity, bool> > predicate) { try { using (NosCoreContext context = DataAccessHelper.Instance.CreateContext()) { DbSet <TEntity> dbset = context.Set <TEntity>(); IEnumerable <TEntity> entities = Enumerable.Empty <TEntity>(); TEntity ent = dbset.FirstOrDefault(predicate); return(_mapper.Map <TDTO>(ent)); } } catch (Exception e) { Logger.Error(e); return(default(TDTO)); } }
public void Initialize(SqlConnectionConfiguration Database) { _conn = Database; using (NosCoreContext context = CreateContext()) { try { context.Database.Migrate(); context.Database.GetDbConnection().Open(); Logger.Log.Info(LogLanguage.Instance.GetMessageFromKey(LogLanguageKey.DATABASE_INITIALIZED)); } catch (Exception ex) { Logger.Log.Error("Database Error", ex); Logger.Log.Error(LogLanguage.Instance.GetMessageFromKey(LogLanguageKey.DATABASE_NOT_UPTODATE)); throw; } } }
public SaveResult InsertOrUpdate(ref TDTO dto) { try { using (NosCoreContext context = DataAccessHelper.Instance.CreateContext()) { TEntity entity = _mapper.Map <TEntity>(dto); DbSet <TEntity> dbset = context.Set <TEntity>(); object value = _primaryKey.GetValue(dto, null); TEntity entityfound = null; if (value is object[]) { entityfound = dbset.Find((object[])value); } else { entityfound = dbset.Find(value); } if (entityfound != null) { _mapper.Map(entity, entityfound); context.Entry(entityfound).CurrentValues.SetValues(entity); context.SaveChanges(); } if (value == null || entityfound == null) { dbset.Add(entity); } context.SaveChanges(); dto = _mapper.Map <TDTO>(entity); return(SaveResult.Saved); } } catch (Exception e) { Logger.Error(e); return(SaveResult.Error); } }
public bool Initialize(SqlConnectionStringBuilder Database) { _conn = Database; using (NosCoreContext context = CreateContext()) { try { context.Database.Migrate(); context.Database.GetDbConnection().Open(); Logger.Log.Info(LogLanguage.Instance.GetMessageFromKey(LogLanguageKey.DATABASE_INITIALIZED)); } catch (Exception ex) { Logger.Log.Error("Database Error", ex); Logger.Log.Error(LogLanguage.Instance.GetMessageFromKey(LogLanguageKey.DATABASE_NOT_UPTODATE)); return(false); } return(true); } }
public IEnumerable <TDTO> Where(Expression <Func <TEntity, bool> > predicate) { using (NosCoreContext context = DataAccessHelper.Instance.CreateContext()) { DbSet <TEntity> dbset = context.Set <TEntity>(); IEnumerable <TEntity> entities = Enumerable.Empty <TEntity>(); try { entities = dbset.Where(predicate).ToList(); } catch (Exception e) { Logger.Error(e); } foreach (TEntity t in entities) { yield return(_mapper.Map <TDTO>(t)); } } }