static async Task Main(string[] args)
        {
            // Ein neuer Context wird erstellt.
            _schroedingerCtx = new SchroedingerContext();

            Helper.PrintBlock("Bitte warten, der Datenbank-Context wird erstellt.");

            // Vor jedem Start wird sichergestellt, das der Context auf der Datenbank vorhanden ist.
            await _schroedingerCtx.Database.EnsureDeletedAsync();

            await _schroedingerCtx.Database.EnsureCreatedAsync();

            Helper.PrintBlock("Der Datenbank-Context wurde erfolgreich erstellt.");

            // Initialisierung der Services zur Interaktion mit dem Context.
            // Der CatService wird nicht verwendet, kann aber Katzen anhand des Namens liefern.
            _catService = new CatService(_schroedingerCtx);
            _boxService = new BoxService(_schroedingerCtx);

            // Wir fragen nach der Farbe.
            var boxColor = GetBoxColor();

            // Wir fragen nach dem Namen.
            var catName = GetCatName();

            // Wir erzeugen direkt im Methodenkörper ein geschachteltes Box-Objekt und fügen es dem Context hinzu.
            await _boxService.AddEntityAsync(
                new Box
            {
                BoxId = 1,
                Color = boxColor,
                Cat   = new Cat
                {
                    CatId   = 1,
                    Name    = catName,
                    IsAlive = new Random().Next(100) < 50 ? true : false
                }
            });

            var count = await _boxService.SaveChangesAsync();

            OpenBox(boxColor);

            Console.ReadLine();
        }
 public CatService(SchroedingerContext context) : base(context)
 {
 }
Beispiel #3
0
 public BaseService(SchroedingerContext schroedingerCtx)
 {
     _schroedingerCtx = schroedingerCtx;
     Repository       = _schroedingerCtx.Set <TEntity>();
 }