Entity Framework – Tipps und Tricks

Zwei Frauen schauen gemeinsam auf einen Bildschirm

In diesem Blogbeitrag möchte ich einige Tipps und Tricks rund um Entity Framework mit euch teilen. In allen Beispielen gehen wir vom Code-First Ansatz aus.

 

1. 1-zu-1 Beziehung

Es gibt keine 1-zu-1 Beziehung in Datenbanken. Es gibt lediglich eine 1-zu-0/1 Beziehung. In Entity Framework wird diese Beziehung am besten mit der Fluent-API beschrieben.

public class Employee 
{
    public string Name { get; set; }
    public virtual Address Address { get; set; }    
}
 
public class Address
{
    public string Street { get; set; }
    public string PostCode { get; set; }
    public string City { get; set; }
    public virtual Employee Employee { get; set; }
}

Hier hat jede Datenbank ein Henne-Ei-Problem. Die Objekte können nicht simultan generiert werden und sofort auf das andere Objekt referenzieren.

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    modelBuilder.Entity<Address>()
                .HasOptional(e => e.Address) 
                .WithRequired(a => a.Employee); 
}

In diesem Beispiel kann ein Employee eine Address haben, aber ein Address kann nicht ohne Employee existieren.

Anmerkung: Mit Entity Framework kann eine (echte) 1-zu-1 Beziehung vorgetäuscht werden. Für die Datenbank sind diese Felder jedoch keine Pflichtfelder und somit keine echte 1-zu-1 Beziehung.

2. Mehr als eine 1-zu-n Beziehung zwischen zwei Entitäten

In unserem Beispiel gibt es folgende (vereinfachte) Klassen:

public class User
{
    public int Id { get; set; }
    public string UserName { get; set; }
}

public class Task
{
    public string Title { get; set; }
    public string Body { get; set; }
    public virtual User CreatedBy { get; set; }
}

Daraus resultiert folgende Datenbank:

Screenshot Datenbank mit einer 1-zu-n BeziehungDatenbank mit einer 1-zu-n Beziehung
Datenbank mit einer 1-zu-n Beziehung

Jetzt möchten wir die Klasse Task noch um einen User erweitern, der diese Aufgabe zugewiesen bekommt. Somit hätten wir zwei 1-zu-n Beziehungen zwischen Task und User. Mit Data Annotations lässt sich diese Beziehung einfach realisieren:

public class User
{
    public int Id { get; set; }
    public string UserName { get; set; }
    [InverseProperty(“AssignedTo”)]
    public virtual ICollection<Task> Tasks { get; set; }
}
public class Task
{
    public int Id { get; set; }
    public string Title { get; set; }
    public string Body { get; set; }
    public virtual User CreatedBy { get; set; }
    public virtual User AssignedTo { get; set; }
}

Daraus resultiert dann folgende Datenbank:

Screenshot Datenbank mit zwei 1-zu-n BeziehungDatenbank mit zwei 1-zu-n Beziehung
Datenbank mit zwei 1-zu-n Beziehung

3. Mit Entity Framework habe ich gar keine Kontrolle über meine Tabellen

Das ist ein hartnäckiges Vorurteil gegenüber Entity Framework, welches aber nicht ganz wahr ist. Wenn eine Zwischentabelle (für eine n-zu-m Beziehung) in Entity Framework erstellt wird, wird die Zwischentabelle mit dem Namen der verbundenen Entitäten erstellt.

public class Employee
{
    public string Firstname { get; set; }
    public string Lastname { get; set; }
    public virtual ICollection<Skill> Skills { get; set; }
}
 
public class Skill
{
    public string Name { get; set; }
    public int Level { get; set; }
    public virtual ICollection<Employee> Employees { get; set; }
}

Daraus kann nun eine EmployeeSkills oder eine SkillEmployees Tabelle entstehen. Die Erstellung dieser Zwischentabelle kann mit der Fluent-API gesteuert werden.

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    modelBuilder.Entity<Employee>()
          .HasMany<Skill>(e => e.Skills)
                .WithMany(s => s.Employees)
                .Map(es =>
                {
                    es.MapLeftKey(“EmployeeRefId”);
                    es.MapRightKey(“SkillRefId”);
                    es.ToTable(“EmployeeSkillList”);
                });
}

Die Methoden HasMany() und WithMany() werden zur Konfiguration von n-zu-m Beziehungen verwendet. Danach wird mit der Map() Methode die Tabelle mit dem gewünschten Namen definiert.

Wichtig: Die Entität, aus welcher die HasMany() Methode aufgerufen wird (in unserem Beispiel die Employee Entität), wird mit MapLeftKey() in die „linke Spalte“ geschrieben.

4. SQL + Entity Framework = <3

Eine Kombination aus SQL und Entity Framework ist immer möglich. Die Performance bei komplexen Abfragen mit vielen ungewollten JOINS kann Entity Framework schnell in die Knie zwingen. Eine Kombination aus Entity Framework und einer SQL View kann die Performance enorm anheben. Im nächsten Beispiel haben wir eine sehr simple View, die uns die Namen der Mitarbeiter, deren Skills und deren Skillstufe anzeigt:

CREATE VIEW SkillOverview AS
SELECT E.Firstname as Firstname, E.Lastname as Name, S.Level as Level, S.Name as Skill FROM Employees E
JOIN EmployeeSkillList ESL ON ESL.EmployeeRefId = E.Id
JOIN Skills S ON S.Id = ESL.SkillRefId

Als nächstes erstellen wir ein Datenmodell:

public class SkillOverviewModel
{
    public string Firstname { get; set; }
    public string Name { get; set; }
    public int Level { get; set; }
    public string Skill { get; set; }
}

Nun erstellen wir eine Methode, die uns das Datenmodell anhand der View befüllt:

public ICollection<SkillOverviewModel> GetSkillOverview()
{
    string query = “SELECT * FROM [dbo].[SkillOverview]”;           
    List<SkillOverviewModel> result = this.context.Database.SqlQuery<SkillOverviewModel>
   (query).ToList();
    return result;
}

Mit demselben Prinzip können auch SQL-Functions und Stored Procedures angesprochen werden. Die Parameter werden als SqlParameter Array übergeben. Wenn wir also nur die Mitarbeiter mit einem bestimmten Skill-Level sehen wollen entwickeln wir eine neue Methode:

public ICollection<SkillOverviewModel> GetSkillOverview(int skillLevel)
{
    string query = “SELECT * FROM [dbo].[SkillOverview] WHERE [Level] = @skillLevel”;
    List<object> parameters = new List<object>();
    SqlParameter skillLevelParameter = new SqlParameter(“@skillLevel”, skillLevel);
    parameters.Add(skillLevelParameter);
    List<SkillOverviewModel> result = this.context.Database.SqlQuery<SkillOverviewModel>
          (query, parameters.ToArray()).ToList();
   return result;
}

5. Darf es noch ein wenig mehr sein?

Durch den Code First-Ansatz spiegeln unsere Entitäts-Objekte eine ganze Zeile einer Tabelle ab. In einigen Anwendungen können Entitäten viele Eigenschaften haben, die gar nicht immer benötigt werden.

public class Employee
{
    public int Id { get; set; }
    public string Firstname { get; set; }
    public string Lastname { get; set; }
    public virtual ICollection<Skill> Skills { get; set; }
}

class Program
{
static void Main(string[] args)
{
AppContext context = new AppContext();
List<Employee> employees = context.Employee.ToList();
Console.ReadKey();
}
}​

Diese Abfrage liefert uns nun alle Einträge in der Employee Tabelle. Dadurch wird Id, Firstname und Lastname von jeder Entität geladen. Aber was ist mit den Skills eines Mitarbeiters? Lazy Loading ist standardmäßig aktiviert bei Entity Framework. Dadurch werden die Skills erst dann geladen, wenn diese gebraucht werden.

static void Main(string[] args)
{
    AppContext context = new AppContext();
    List<Employee> employees = context.Employee.ToList();
    foreach(Employee employee in employees)
    {
        Console.WriteLine($”{employee.Firstname} {employee.Lastname}”);
        foreach(Skill employeeSkill in employee.Skills)
        {
            Console.WriteLine($”{employeeSkill.Name}: {employeeSkill.Level}”);
        }
    }
    Console.ReadKey();
}

Alle Employees sind bereits geladen, aber deren Skills leider nicht. Dadurch wird in der inneren foreach-Anweisung jedes Mal ein Request zur Datenbank geschickt und lädt den Skill nach. Besser wäre es, wenn die Skills direkt mit den Employees geladen werden. Mit der Include() Methode lässt sich das einfach realisieren:

List<Employee> employees = context.Employee.Include(e => e.Skills).ToList();

6. Das habe ich doch gar nicht gebraucht!

Wie wir sehen, verwenden wir nur FirstName und LastName von Employee sowie Name und Level von Skill. Mitgeladen wird aber auch jeweils die Id. Unser Beispiel ist etwas “klein”, aber stellen Sie sich vor, Sie haben zwei Entitäten mit verschiedenen Datentypen wie Datum, Integer, Float und davon auch noch viele. Diese werden nicht benötigt, aber auch geladen. In SQL würden wir auch nicht

SELECT * FROM [TABLE] 

ausführen, um dann nur die Daten aus der Menge zu nehmen, die wir brauchen. Wieso sollten wir das dann bei Entity Framework tun?

Unser Ergebnis von der Query kommt wieder in ein Model:

public class FullNameModel
{
    public string FullName { get; }
    public FullNameModel(Employee employee)
    {
        this.FullName = $”{employee.Firstname} {employee.Lastname}”;
    }
}
public ICollection<FullNameModel> GetAllFullNames()
{
    List<FullNameModel> result = this.context.Employee
                                        .Select(x => new FullNameModel
                                        {
                                            FullName = $”{x.Firstname} {x.Lastname}”
                                        }).ToList();
    return result;                                                                                                                                                                                                     }

Übersetzt lautet dieser Code: SELECT Firstname, Lastname FROM [Employees] also genau das, was wir brauchen. Ein Entity Framework Select-Statement mit einem angepasstem Data Transfer Object(DTO) kann genauso schnell sein wie ein direktes SQL Statement.

Wichtig: Im Select-Statement kann nur ein parameterloser Konstruktor verwendet werden.

Fazit

Entity Framework oder SQL? Wieso nicht beides? Entity Framework kann die Arbeit erleichtern, aber nicht alles ist standardmäßig genau so eingestellt, wie der Entwickler es gerade braucht. Durch eine gute Kombination aus Entity Framework und SQL können Schwächen kompensiert und Entwicklungszeit verkürzt werden. Dank Codefirst wird die Datenbankgenerierung in der Codeverwaltung gespeichert und ein Wechsel der Datenbankengine ist einfacher zu realisieren. Der Einsatz von Entity Framework ersetzt nicht das Grundwissen von relationaler Datenmodellierung, sondern sollte diese ergänzen.

novaCapta
Michael SonntagBlog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

GraphQL – Die Alternative zu REST

GraphQL ist eine Abfragesprache für APIs zur Ausführung von Abfragen mit Hilfe eines für die Daten definierten Typensystems. In dieser kleinen Blog-Serie schauen wir uns einfache Queries und Mutations an.

novaCapta
Blog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

Handlebars.js – Semantische Template Library

Handlebars.js ist eine Template-Engine für JavaScript. Sie ermöglicht dem Entwickler, mit Hilfe von semantischen Templates Business-Logik und HTML zu trennen.

novaCapta
Blog
Close up of female hands while typing on laptop
Blog

SharePoint Framework Client-Side Webparts mit React

React ist ein Framework zum Erstellen von Benutzeroberflächen. In der SharePoint Online Entwicklung bietet es sich für die Entwicklung von Client-Side Webparts an.

novaCapta
Kathrin HeinrothBlog
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog

Spaltenformatierung in SharePoint: Column formatting vs. JS

Eine Gegenüberstellung der Spaltenformatierung von JSLink zu der neueren Methode Column formating in Office 365.

novaCapta
Kathrin HeinrothBlog
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog

Testen von Angular Anwendungen mit Cypress

Cypress ist ein End-to-End Testing Framework, mit dem man einfache Tests erstellen kann, die in Echtzeit ausgeführt werden. Mit Cypress kann man auch Snapshots von den einzelnen Schritten während der Testausführung sehen. Tests können schnell erstellt werden, ohne dass bestimmte Server oder Driver benötigt werden.

novaCapta
Andy KurzBlog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

Struktureller Aufbau eines Angular Modules

Dieser Blogbeitrag beschäftigt sich mit dem strukturellen Aufbau eines Angular Modules und der Kommunikation der einzelnen Komponenten.

novaCapta
Blog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

Ich bin im Flow! – Eine Übersicht zu Microsoft Flow

Die Power Platform wird aktuell von Microsoft sehr stark gepusht. Zeit, sich mit dem Potenzial der einzelnen Komponenten zu beschäftigen. Heute: Flow.

novaCapta
Blog
Zwei Frauen schauen gemeinsam auf einen Bildschirm
Blog

Xamarin – plattformübergreifende App-Entwicklung

Xamarin ist eine übergreifende Entwicklungsplattform, die die Welten zusammenführt und die bislang erforderliche Mehrarbeit weitgehend überflüssig macht.

novaCapta
Blog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

Teams Extensions – Erstellen von Erweiterungen für Teams

Mit der Entwicklung von Extensions kann Teams einfach erweitert werden. Hierfür gibt es das App Studio, welches über den Teams Store installiert werden kann.

novaCapta
Blog
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog

CQRS in ASP.Net MVC mit Entity Framework

Die Entwicklung von Anwendungen in einem mehrschichtigen Aufbau hat sich etabliert. Design Patterns wie MVC schaffen Lösungen.

novaCapta
Blog
News der novaCapta
Blog

Der wiederholte Bereich in Nintex Forms

Nintex für Fortgeschrittene

novaCapta
Julius ElsnerBlog
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog

Nutzung der SharePoint REST API mit Microsoft Flow

Durch Zugriffe über die REST API lassen sich viele Vorgänge mit Microsoft Flow automatisieren.

novaCapta
Thomas KoglerThomas KoglerBlog
News der novaCapta
Blog

Gefilterte Ansicht über Unterschiede in mehreren Spalten

Die Filtermöglichkeiten in Ansichten in SharePoint sind begrenzt. So ist z.B. der direkte Vergleich zwischen zwei Spalten nicht möglich. Möchte ich Unterschiede beim Vergleich zweier Spalten angezeigt bekommen so ist dies nur über einen einzelnen Wertevergleich möglich (Quelle1=“A“ und Kopie1<>“A“). Möchte man dann noch mehrere Spalten miteinander vergleichen wird es schwierig bis unmöglich.

novaCapta
Blog
Blue sky and clouds
Blog

Grundlagen der Datenmodellierung

Fachliches Modell mit ER-Diagrammen (auch ERM – Entity Relationship Model)

novaCapta
Leistung
Zwei Männer am Smartphone
Leistung

Business Productivity Framework

Unser Mittelweg bei der Einführung neuer Software: Business Productivity Framework. Dies ist nichts anderes als die Wiederverwendung von bewährten Architekturen. Individuelle Kundenwünsche lassen sich damit in kürzerer Zeit und ohne hohen Kostenaufwand realisieren.

novaCapta
Blog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

Dateizugriffsrechte verwalten mit Microsoft RMS – Teil 2

Dieser Teil der Artikelserie befasst sich mit der Anwendung von den Microsoft RMS in der Praxis.

novaCapta
Andy KurzBlog
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog

Warum ist Inline-CSS und JavaScript-Code so schlecht?

Warum der Einsatz von Inline-CSS bzw. JavaScript-Code schlecht ist, da Dinge wie Caching, DRY-Prinzip, Wartbarkeit und Media-Queries gänzlich außer Acht gelassen werden.

novaCapta
Blog
Zwei Frauen schauen gemeinsam auf einen Bildschirm
Blog

Fünf Tipps für eine verbesserte Software-Adoption

Die Generation Y stellt im Arbeitsumfeld neue Anforderungen an Unternehmens-Software und -Systeme. Unsere fünf Tipps, um die Adoption einer Software erhöhen.

novaCapta
Blog
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog

Drei Tipps für mehr SharePoint-Begeisterung

Wir geben Tipps zur der Microsoft Serverplattform für Content Management, (Social)-Collaboration, Portalfunktion, Business Intelligence und Enterprise Search.

novaCapta
Blog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

Multi Factor Authentication (Azure und SharePoint)

Microsoft führt mit der Multi Faktor Authentisierung (MFA) eine weitere und kostenlose Authentifizierungsebene zu in Office 365 hinzu.

novaCapta
Blog
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog

Fünf Tipps für mehr SharePoint-Adoption in Unternehmen

SharePoint ist eine vielseitige und mächtige technologische Plattform mit vielen Funktionen. Unseren fünf Expertentipps erhöhen die Adoption.

novaCapta
Andy KurzBlog
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog

Braucht man wirklich jQuery?

Ich beleuchte diese Frage anhand von Beispielen aus der Praxis und hinterfrage, ob in der modernen Browserlandschaft auch natives JavaScript ausreicht.

News
News

CLOUDPILOTS mit Google Cloud @ SCCON 2024

Wir zeigen Euch auf der Smart Country Convention in Berlin, wie innovative Cloud-Lösungen Eure Organisation fit für die Zukunft machen.

Webcast
christmas woman
Webcast

First Tuesday am 12.12.2023

Der Blick aufs Jahr 2023 mit der GCP- und Google Workspace Brille.

Andreas MaierAndreas MaierBlog
Blog

Migration von HOST-Anwendungen zu AWS: Modernisierung

Legacy-Systeme bieten oft wertvolle Funktionen für Unternehmen. Dieser Artikel beschreibt, wie HOST-Anwendungen in die Cloud migriert werden können, ohne dass die Datensicherheit leidet. Lernen Sie, wie moderne AWS-Services nahtlos in bestehende Host-Landschaften integriert werden und profitieren Sie von den Vorteilen von Serverless-Technologien.

Webcast
Webcast

First Tuesday am 03.09.2024

Jetzt Webinar nachschauen!

novaCapta
Blog
Schreibtisch
Blog

Anhänge nach Datentyp in PowerApps einschränken

Eine immer wieder auftauchende Anfrage bei digitalen Prozessen ist die Beschränkbarkeit von Anhangsdokumenten. Glücklicherweise lässt sich diese Funktionalität relativ unkompliziert mit wenigen kleinen Formeln in PowerApps nachbauen.

novaCapta
Blog
Blue sky and clouds
Blog

Vorgesetzte in Nintex per LDAP-Abfrage ermitteln

"Meine Sekretärin erledigt das für mich." Es ist der Klassiker der Workflows: Die Genehmigung. Neu im novaCapta Blog ► Mit Nintex Vorgesetzte per LDAP-Abfrage ermitteln ✓ So funktioniert's ✓ Jetzt nachlesen!

novaCapta
Blog
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog

Migration IBM Lotus Notes zu Microsoft SharePoint

Eine Migration von Lotus Notes/Domino nach SharePoint/Exchange besteht grundsätzlich aus mindestens zwei Bereichen.

novaCapta
Andy KurzBlog
Blue sky and clouds
Blog

Angular Route-Guards

Was versteht man eigentlich unter Angular Route-Guards?

novaCapta
Blog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

Dateizugriffsrechte verwalten mit Microsoft RMS – Teil 3

Dieser Teil der Artikelserie befasst sich mit der RMS-Freigabeanwendung, welche Dateien jeglichen Dateityps verschlüsseln kann.

novaCapta
Blog
Close up shot of female hands typing on laptop
Blog

SharePoint vs. TYPO3 – Sechs Gründe für SharePoint-Intranet

Hier lesen Sie die sechs wichtigsten Argumente, warum Sie Office 365 mit SharePoint für Ihre Intranetlösung gegenüber TYPO3 bevorzugen sollten.

novaCapta
Blog
Drei Personen in einer Besprechung an einem Tisch besprechen den Zeitplan auf ihrem Microsoft-Laptop
Blog

Die Bedeutung einer Governance

In der Governance-Struktur legen Sie fest, wie Sie mit Ihrer SharePoint-Umgebung arbeiten. Governance beschreibt die Rollen der Nutzer und legt Verantwortlichkeiten fest.

novaCapta
Blog
Blue sky and clouds
Blog

Farben zur Optimierung des SharePoint-Kalender

Auch in SharePoint kann man Kategorien für Teamkalender-Einträge farblich abheben und damit die Lesbarkeit erhöhen. Wir zeigen Ihnen, wie das geht.

Event
Interessiertes Publikum sinnbildlich für IBM Think 2019
Event

X-INTEGRATE auf der IBM THINK 2019

Freuen Sie sich außerdem auf zwei spannende Sessions mit IT-Manager und Geschäftsführer der X-INTEGRATE Software & Consulting GmbH Wolfgang Schmidt zu innovativen Business-Integrationstechnologien.

Webcast
Webcast

First Tuesday am 05.11.2024

Jetzt Webinar nachschauen!

novaCapta
Blog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

Produktiver lernen mit SharePoint

Bringt die aktuelle Version der SharePoint-Plattform so viele neue Features mit, es zu einem perfekten Learning Management System zu machen? Wir beleuchten es.

Webcast
Junge Dame mit Brillen umgeben von Wolken
Webcast

First Tuesday am 04.06.2024

Jetzt Webinar nachschauen!

novaCapta
Blog
Close up of female hands while typing on laptop
Blog

Grundlagen der Gestaltung

Die Gestaltgesetze der Wahrnehmungspsychologie

novaCapta
Lars EschweilerLars EschweilerBlog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

PDF-Konverter in Power Automate

Kann ich mittels Microsoft Power Automate und einer SPFx-Anwendung ohne größere Probleme einen PDF-Konverter erstellen? Die einfache Antwort: Ja. Und auch die Ausführliche gibt’s hier.

Johannes BrühlJohannes BrühlBlog
Blog

DevOps und APIOps in der Praxis: Best Practices

Wie lassen sich DevOps und APIOps erfolgreich kombinieren? In diesem Artikel erfahren Sie, welche Best Practices und Erfolgsfaktoren moderne Softwareentwicklung schneller und skalierbarer machen.

novaCapta
Blog
Zwei Frauen schauen gemeinsam auf einen Bildschirm
Blog

Umfragen in Teams mit Microsoft Forms

Umfragen bieten die Möglichkeit, bei der Planung von beispielsweise Events schnell zu einem Termin/Ergebnis zu kommen oder aber auch Feedback zu vergangenen Ereignissen einzuholen. Mit Microsoft Forms lassen sich Umfragen schnell und einfach in Teams erstellen bzw. integrieren.

novaCapta
Blog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

Was kann der neue Office 365 Planner – und was kann er nicht

„Office 365 Planner“ ist das neue Tool von Microsoft, mit dem sich Zusammenarbeit und Aufgabenverteilung in Teams organisieren lässt. Was kann der neue Office 365 Planner – und was kann er nicht

News
News

Kostenloses Webinar Freshworks Freddy AI am 22. Oktober 2024

Freddy AI – die KI für exzellenten Kundenservice! Wie einfach Freddy Deinen Kundenservice revolutioniert, erfährst Du im kostenlosen Webinar!

novaCapta
Michael  MatuschekMichael MatuschekBlog
Close up of female hands while typing on laptop
Blog

Qualitätsmanagement - Dokumentation verwalten mit SharePoint

Qualitätsmanagement-Dokumente zu verwalten wird schnell unübersichtlich und kompliziert. Wir haben eine Lösung entwickelt, die das Dokumentenmanagement deutlich vereinfacht.

novaCapta
Blog
News der novaCapta
Blog

Zentralisiertes Logging – Simpler Logging-Stack mit Graylog

Logging ist ein komplexes und doch essenzielles Thema. Gute Logs vereinfachen einem Supporter die Arbeit und ermöglichen es, Probleme schneller einzugrenzen.

Johannes BrühlJohannes BrühlBlog
Blog

"DevOps, quo vadis?" – Team Topologien

Erfahren Sie, wie Team-Topologien in DevOps Silos aufbrechen und erfolgreiche Zusammenarbeit fördern. Entdecken Sie die vier fundamentalen Teamarten.

novaCapta
Blog
Blue sky and clouds
Blog

Hat Ihr Unternehmen einen Informations-Lebenszyklus?

Jede Information hat eine Aktualitätsphase, eine Nachschlag-Phase, eine Archiv-Phase und einen Obsoleszenz-Punkt. Steuern Sie den Lebenszyklus Ihrer Informationen?

Peter DiefenthälerPeter DiefenthälerBlog
Blog

Die Zukunft datenbankzentrierter IT-Architekturen

Datenbankzentrierte IT-Architekturen prägen viele Unternehmen. Doch ist dieser Ansatz noch zukunftsfähig? Dieser Artikel beleuchtet die Herausforderungen und Alternativen.

Johannes BrühlJohannes BrühlBlog
Blog

DevOps? Warum APIOps der nächste logische Schritt ist

APIOps erweitert DevOps-Praktiken auf APIs, um deren Entwicklung zu automatisieren und zu optimieren. Dieser Ansatz verbessert Qualität, Sicherheit und Geschwindigkeit im API-Management.

novaCapta
Blog
Team of programmers working in office
Blog

Was Sie beim nächsten IT-Projekt beachten sollten

Unternehmen sind in ihrer digitalen Transformation erfolgreicher, wenn sie bei der Umsetzung auf ein wirksames Change Management setzen. Wie der Wandel gelingt, verrät Nora Sommer, Senior Business Consultant bei der novaCapta, im Interview.

TIMETOACT
Andreas LöwAndreas LöwBlog
Blog

Deno – Das müsst ihr über die Laufzeitumgebung wissen

Deno nennt sich die neueste Kreation von Ryan Dahl, dem ursprünglichen Schöpfer von Node.js. Die neue Laufzeitumgebung weist einige spannende Neuerungen auf – mehr dazu in unserem Blogbartikel!

Webcast
clever korean school girl
Webcast

First Tuesday am 18.01.2024

Jetzt Webinar nachschauen!

Webcast
Webcast

First Tuesday am 16.04.2024

Jetzt Webinar nachschauen!

Webcast
Webcast

First Tuesday am 05.03.2024

Jetzt Webinar nachschauen!

Webcast
Webcast

First Tuesday am 08.10.2024

Jetzt Webinar nachschauen!

Webcast
Webcast

First Tuesday am 02.07.2024

Jetzt Webinar nachschauen!

novaCapta
Blog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

Dateizugriffsrechte verwalten mit Microsoft RMS – Teil 1

Diese Artikelserie befasst sich mit der Einrichtung und Verwendung der Rights Management Services (RMS) von Microsoft, die eine sichere Verschlüsselung von Dateien bieten.

novaCapta
Blog
Zwei Frauen schauen gemeinsam auf einen Bildschirm
Blog

Change Management in IT-Projekten

Viele IT-Projekte scheitern am Zusammenspiel verschiedener Faktoren, wie unklare Ziele, ungenügende Ressourcen, schlechte Kommunikation und fehlende User-Akzeptanz.

novaCapta
Andy KurzBlog
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog

Angular 5 Custom Filter in Angular Material Data-Table

In diesem Blogbeitrag will ich euch darlegen, wie man einen Custom Filter für das Angular Material Data-Table Modul erstellt.

novaCapta
Blog
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog

SharePoint und Informationsarchitektur – worauf kommt es an?

Wie definiert sich eine Informationsarchitektur und die Rolle eines Informationsarchitekten im SharePoint-Umfeld?

novaCapta
Blog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

Dateizugriffsrechte verwalten mit Microsoft RMS – Teil 4

Dieser letzte Teil der Artikelserie befasst sich mit dem Schutz von Dokumenten innerhalb von SharePoint.

novaCapta
Blog
Zwei Frauen schauen gemeinsam auf einen Bildschirm
Blog

Corporate News – Das zentrale Medium interner Kommunikation

Um die Akzeptanz des unternehmenseigenen Intranets zu steigern, sind Corporate News ein erster Schritt, um Neuigkeiten, Strategie und Strukturen gleichmäßig zu kommunizieren.

novaCapta
Blog
Close up of female hands while typing on laptop
Blog

Was ist Application Lifecycle Management (ALM)?

Application Lifecycle Management beschreibt einen ganzheitlichen Ansatz, der eine Anwendung während allen Phasen der Software begleitet.

novaCapta
Blog
Eine Angestellte lädt auf ihrem Handy die Microsoft Teams App für digitale Zusammenarbeit herunter.
Blog

Microsoft Teams: mehr als Videotelefonie und Chat

Corona treibt viele Arbeitnehmer ins Homeoffice – und zu Microsoft Teams. Eine Umfrage der novaCapta zeigt, dass Teams mehr Potenzial bietet als viele wissen. Wie Teams den Alltag wirklich erleichtert, verrät Andy Frei, Mitglied der Geschäftsleitung novaCapta CH, im Interview.

novaCapta
Blog
Programmer Woman Coding On Computer
Blog

Ohne Programmierkenntnisse zum Entwickler werden

Bei der Digitalisierung von Unternehmen erfordern passgenaue Business-Apps und automatisierte Workflows bislang ­erheblichen Entwicklungsaufwand. Microsoft setzt dem die Power Platform entgegen, mit der sich auch ohne Programmierkenntnisse gleichwertige Geschäftsanwendungen erstellen lassen sollen.

novaCapta
Blog
Phishing, mobile phone hacker or cyber scam concept. Password and login pass code in smartphone. Online security threat and fraud. Female scammer with cellphone and laptop. Bank account security.
Blog

Die Awareness kommt mit dem ersten Cyberangriff

Aktuell gehören Cyberangriffe zu den grössten Betriebsrisiken eines Unternehmens. Wie IT-Abteilungen sensible Unternehmensdaten effektiv schützen können und warum Cloud Computing die sicherere Wahl sein kann, weiss Sandra Zimmerli, Cloud Engineer bei der novaCapta Schweiz AG.

Johannes BrühlJohannes BrühlBlog
Blog

Effiziente DevOps-Teams: Teamschnitte und Kommunikation

Erfahre, wie durch gezielte Teamschnitte und optimale Kommunikationsmodi die kognitive Last in DevOps-Teams reduziert wird. So erreichst du effizientere Zusammenarbeit und kontinuierlichen Fortschritt.

novaCapta
Leistung
Eine Expertin erläutert Kollegen .NET Code in einer Software-Entwicklungsumgebung.
Leistung

Applications & Integration

Von kleineren Apps bis zu komplexen Unternehmenslösungen, On-Prem, Hybrid oder in der Azure-Cloud, wir finden mit Ihnen gemeinsam den besten Weg zum Ziel.

novaCapta
Technologie
Eine Angestellte lädt auf ihrem Handy die Microsoft Teams App für digitale Zusammenarbeit herunter.
Technologie

Microsoft Teams für digitale Zusammenarbeit

Microsoft Teams ist die am schnellsten wachsende Anwendung in der Geschichte von Microsoft und hat begonnen, die Art und Weise wie wir arbeiten zu verändern. Finden Sie heraus, wie Sie Teams in Ihrem Unternehmen für bessere Produktivität, Kollaboration und als Digital Workplace nutzen können.

novaCapta
Service
Young beautiful woman working on laptop at home office, copy space, portrait.
Service

DevOps für Prozessoptimierung im Unternehmen | novaCapta

Mit einer ganzheitlichen DevOps Strategie können Unternehmen schnell auf Veränderungen reagieren - und haben damit einen großen Wettbewerbsvorteil. Unsere Expert:innen stehen Ihnen mit Rat und Tat zur Seite und unterstützen Sie bei der DevOps-Einführung.

novaCapta
Leistung
Happy lifestyle digital nomad young cheerful woman work outdoor with laptop computer - people and modern technology job and communication related - alternative office at the beach
Leistung

Microsoft Teams as a Platform

Mit Teams-Apps bringen Sie Anwendungen und Prozesse dort zusammen, wo Kollaboration und Lernen stattfinden und passen das Tool so ganz individuell an die Bedürfnisse Ihres Unternehmens an.

novaCapta
Leistung
medicine, healthcare and people concept - female doctor with tablet pc computer talking to smiling woman patient at hospital
Leistung

Apps als Medizinprodukt

Eine App so zu entwickeln, dass sie offiziell als Medizinprodukt validiert werden kann, ist aufwendig. Wir stellen Ihnen ein Entwicklerteam an die Seite, dass Erfahrung in der Entwicklung und Validierung von medizinischen Software-Produkten hat.

novaCapta
News
Young beautiful woman working on laptop at home office, copy space, portrait.
News

novaCapta hat neue Gold-Kompetenz für DevOps

Die novaCapta hat ihren Partnerstatus bei Microsoft zusätzlich vergoldet: Ab sofort glänzt auch die Sparte DevOps in Gold.

novaCapta
Referenz
Beladenes Containerschiff auf dem Meer
Referenz

dteq: Webbasiertes Projektmanagement

Immer häufiger erfüllt Standardsoftware nicht alle Anforderungen und Individualentwicklungen lassen die Kosten explodieren. Die weltweit tätige dteq group hat mit dem Business Productivity Framework der novaCapta die optimale Lösung für ihr Projektmanagement gefunden.

TIMETOACT
Andreas LöwAndreas LöwBlog
Blog

9 Tipps & Tricks für Angular

Angular ist unter Webentwicklern ein beliebtes Framework für das Programmieren von Web-, Desktop- und mobilen Anwendungen. In unserer Anleitung haben wir neun Tipps & Tricks zusammengestellt, welche Angular-Einsteigern und Profis die Webentwicklung garantiert erleichtert.

novaCapta
Blog
Für versicherungsmathematische Berechnungen, Projektionen, die Gewinnprüfung, stochastische Modellierung und das Asset-Liability-Management ist ein modernes Framework unverzichtbar. Was muss es im Spannungsfeld gesetzlicher und unternehmerischer Hürden leisten? Und was muss aktuarielle Software mitbringen, wenn sie den Herausforderungen von heute und morgen gerecht werden will?
Blog

Eine Frage des Frameworks

Die Digitalisierung macht auch vor der Veränderung aktuarieller Tätigkeiten nicht Halt. Hinzu kommen längst beschlossene gesetzliche Vorgaben, die u.a. IT-Abteilungen vor größte Herausforderungen stellen.

novaCapta
Blog
Happy male business team leader talking to employees at corporate meeting, discussing work project, sharing jokes, laughing. Positive mentor training diverse group of interns, having fun
Blog

Tipps & Tools für eine erfolgreiche interne Kommunikation

Firmenevents sind für viele Unternehmen ein Highlight, bergen jedoch Herausforderungen für die interne Kommunikation. In unserem Blogbeitrag zeigen wir, wie und mit welchen Tools novaCapta diese Aufgabe gemeistert hat.

novaCapta
News
Female student using laptop on desk at library
News

Fachbeitrag der novaCapta: Das personalisierte Intranet

Effektivität erhöhen, Motivation steigern, die Zusammenarbeit fördern: das alles kann ein personalisiertes Intranet leisten. Was dieses ausmacht, erklären Ihnen unsere Experten in unserem Fachbeitrag "Das personalisierte Intranet" im Online Magazin „pressesprecher“.

Kompetenz
Headerbild für Edge Computing
Kompetenz

Edge Computing

Mit Edge Computing können Sie Daten dezentral, direkt am Ort ihrer Entstehung, analysieren und auswerten – und zwar nahezu in Echtzeit.

novaCapta
Blog
Phone lock code. Smartphone protection with 2fa (two factor authentication). Smartphone protection and security with pin number. Encrypted data. Personal online privacy. Cyber hacker threat.
Blog

Interview: Wie Unternehmen Cyber Security herstellen

Unser Kollege Sebastian Nipp leitet nun die Unit Cloud Security & Infrastructure. Im Interview erzählt er, was ihn zum Wechsel bewogen hat, welche Ziele er verfolgt und welche Herausforderungen warten. Besonders im Fokus: Cyber Security.

novaCapta
Blog
Videoserie zur Azure, Teil 3, Cloud Mythos
Blog

Azure Video-Serie: Mythos "Cloud günstiger als On-premises"

Im dritten Teil sind wir dem Mythos "Die Cloud ist immer günstiger als On-Premises" auf der Spur. Warum das so nicht zu 100 Prozent stimmt und was Sie tun können, um die Kosten in der Cloud gering zu halten, erklärt unser Azure Experte.

novaCapta
Blog
Videoserie zur Azure, Teil 4, Mythos Cloud Provider
Blog

Azure Video-Serie: Mythos "Cloud Provider = Management"

Der Mythos "Der Public Cloud Provider nimmt alle Arbeit ab" hält sich hartnäckig. Unser Azure Experte erklärt, warum das so nicht stimmt, welche Themen beim Wechsel in die Public Cloud relevant sind und was es mit PaaS auf sich hat.

novaCapta
Pascal  Brunner Pascal Brunner Blog
Blog

Wieso braucht es Change Management?

Immer häufiger liest man von der Wichtigkeit von Change & Adoption. Doch wieso braucht es das und wie gehe ich das an?

novaCapta
Blog
Videoserie zur Azure, Teil 1, Azure Cost Management
Blog

Azure Video-Serie: Cost Compliance

Azure Cost Management ist ein kostenloser Microsoft Dienst, der dabei hilft, Ihre Cloudkosten zu verstehen, unnötige Ausgaben zu identifizieren und Optimierungspotenziale zu entdecken. Wir zeigen Ihnen, wie Sie ihn nutzen.