using EgtBEAMWALL.DataLayer.DatabaseModels;
using MySql.Data.EntityFramework;
using System;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.IO;
namespace EgtBEAMWALL.DataLayer
{
//[DbConfigurationType(typeof(MySqlEFConfiguration))]
public class aMySqlConfiguration : MySqlEFConfiguration
{
#region Public Constructors
public aMySqlConfiguration() : base()
{
var path = Path.GetDirectoryName(this.GetType().Assembly.Location);
SetModelStore(new DefaultDbModelStore(path));
}
#endregion Public Constructors
}
[DbConfigurationType(typeof(MySqlEFConfiguration))]
public class DatabaseContext : DbContext
{
#region Public Constructors
[Obsolete("This constructor should never be used directly, and is only needed to generate entityframework stuff. Connection string can be adapted as pleased.")]
public DatabaseContext() : base(DbConfig.CONNECTION_STRING)
{
}
public DatabaseContext(string connectionString) : base(connectionString)
{
Database.CreateIfNotExists();
}
#endregion Public Constructors
#region Public Properties
///
/// BTLParts management
///
public DbSet BTLPartList { get; set; }
///
/// Machine Log management
///
public DbSet LogMachineList { get; set; }
///
/// Support Log management
///
public DbSet LogSupportList { get; set; }
///
/// Parts management
///
public DbSet MachGroupList { get; set; }
///
/// Parts management
///
public DbSet PartList { get; set; }
///
/// Parts management
///
public DbSet ProdList { get; set; }
///
/// Parts management
///
public DbSet ProjList { get; set; }
///
/// StatusMap management
///
public DbSet StatusMapList { get; set; }
#endregion Public Properties
#region Public Methods
public static DatabaseContext Create()
{
return new DatabaseContext(DbConfig.CONNECTION_STRING);
}
#endregion Public Methods
}
}