Laden...
B
bigeddie
myCSharp.de - Member
150
Themen
375
Beiträge
Letzte Aktivität
vor 5 Monaten
Dabei seit
02.07.2007
Alter
53
Beruf
Chemielaborant
Herkunft
Mannheim
Interessen
das Leben
Erstellt vor 5 Monaten

Hallo,

Vielen Dank für eure Hilfe! Habe jetzt mal wieder das Kerbholz, die Knotenschnur und den Abakus ausgepackt und Pergament und Federkiel für Notizen bereitgelegt. Chef macht das HB-Männchen. Ist eh meine letzte Woche, dann geht es zur ESP32-Konfiguration. Soll sein Freund aus Fernost das Projekt umsetzen. VBA wollte er nicht.

Nochmal vielen Dank

Grüße Bigeddie

Erstellt vor 5 Monaten

Habe ein ABO für microsoft365. Habe jetzt mal COM-Komponente für PowerPoint probiert. PowerPoint wird instanziiert, aber beim Versuch die Instanz sichtbar zu machen

var pt = new ppt1.Application();
pt.Visible = true;

erhalte ich folgende Meldung: "Schweregrad    Code    Beschreibung    Projekt    Datei    Zeile    Unterdrückungszustand    Details
Fehler (aktiv)    CS0012    Der Typ "MsoTriState" ist in einer nicht referenzierten Assembly definiert. Fügen Sie einen Verweis auf die Assembly "office, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" hinzu.    ConsoleApp1    C:\testsppt1\ConsoleApp1\ConsoleApp1\Program.cs    6"

Vielen Dank

Bigeddie

Erstellt vor 5 Monaten

Hallo,

habe vor ca. 4 Jahren das letzte mal was mit Interops und Office gemacht und komme jetzt nicht weiter.

Mein Code sieht folgendermaßen aus:

using ppt1 =Microsoft.Office.Interop.PowerPoint;
using word = Microsoft.Office.Interop.Word;
using excel = Microsoft.Office.Interop.Excel;

var axel = new excel.Application();
axel.Visible = true;
// See https://aka.ms/new-console-template for more information
//Console.WriteLine("Hello, World!");
//var a = new ppt1.Application();
// var w = new word.Application();
// w.Visible = true;
//a.Visible = true;

Die Nuget-Packages sind alle installiert und vs2022 hat alle Updates und ich erhalte immer eine FileNotFoundException

"System.IO.FileNotFoundException: "Could not load file or assembly 'office, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c'. Das System kann die angegebene Datei nicht finden."

ch hoffe ihr könnt mir etwas weiter helfen.

Viele Grüße

Bigeddie

Erstellt vor 2 Jahren

Hallo Abt,

danke, dass du dir die Mühe mit der sehr ausführlichen Antwort gemacht hast!

Gibt es für die Definition der Relations (ohne die Nutzung der "Black Magic" Quellen über welche man sich das Wissen aneignen kann (fluent API)?
Habe nur die Doku bei MS gefunden und irgend welche mash-up Seiten die sich auf alle möglichen Versionen von EF beziehen ohne direkt auf die letzte Version von EF (core) einzugehen.

Vielen Dank

Bigeddie

Erstellt vor 2 Jahren

Hallo Abt,

erstmal vielen Dank für die Infos, hat mir sehr weitergeholfen.

Von welchen Bedingungen hängt es eigentlich ab, ob ich ein Relationssetup verwenden "muss" oder nicht?
Oder sollte ich dies durch die Migrations kontinuierlich überprüfen?

Vielen Dank und viele Grüße

Bigeddie

Erstellt vor 2 Jahren

Verwendetes Datenbanksystem: SQL-Server 2019 express & EF core 6

Hallo Gemeinde,

ich habe folgende 2 Klassen definiert:


public class Gender
{
    public int Id { get; set; }
    public string Text { get; set; }
}

public class Person
{
    public int Id { get; set; }
    public string Vorname { get; set; }
    public string Nachname { get; set; }
    public Gender Gender { get; set; }
}

Gender soll die Werte

  • männlich
  • weiblich
  • divers

enthalten und die Configuration läuft über


public class GenderConfiguration : IEntityTypeConfiguration<Gender>
{
    public void Configure(EntityTypeBuilder<Gender> builder)
    {
        builder.HasKey(g=>g.Id);
        builder.Property(p => p.Text).HasMaxLength(80);
    }
}

public void Configure(EntityTypeBuilder<Person> builder)
{
       builder.HasKey(x => x.Id);
       builder.Property(p => p.Vorname).HasMaxLength(80).IsRequired(false);
      builder.Property(p => p.Nachname).HasMaxLength(80).IsRequired(false);
}


Die Migration sieht wie folgt aus:


         protected override void Up(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.CreateTable(
                name: "Genders",
                columns: table => new
                {
                    Id = table.Column<int>(type: "int", nullable: false)
                        .Annotation("SqlServer:Identity", "1, 1"),
                    Text = table.Column<string>(type: "nvarchar(80)", maxLength: 80, nullable: false)
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_Genders", x => x.Id);
                });

            migrationBuilder.CreateTable(
                name: "Persons",
                columns: table => new
                {
                    Id = table.Column<int>(type: "int", nullable: false)
                        .Annotation("SqlServer:Identity", "1, 1"),
                    Vorname = table.Column<string>(type: "nvarchar(80)", maxLength: 80, nullable: true),
                    Nachname = table.Column<string>(type: "nvarchar(80)", maxLength: 80, nullable: true),
                    GenderId = table.Column<int>(type: "int", nullable: false)
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_Persons", x => x.Id);
                    table.ForeignKey(
                        name: "FK_Persons_Genders_GenderId",
                        column: x => x.GenderId,
                        principalTable: "Genders",
                        principalColumn: "Id",
                        onDelete: ReferentialAction.Cascade);
                });

            migrationBuilder.CreateIndex(
                name: "IX_Persons_GenderId",
                table: "Persons",
                column: "GenderId");
        }

Die Zeile


GenderId = table.Column<int>(type: "int", nullable: false)

verwirrt mich jedoch etwas, denn

  • warum ist die Column nicht nullable?
  • wie muss ich das Feld in der Configuration bearbeiten um sie nullable zu bekommen?
  • wie kann ich der Spalte einen DEFAULT-Wert zuweisen?

Viele Grüße

Bigeddie

Erstellt vor 4 Jahren

Hallo Bhaal,
Validationflags hatte ich garnicht auf dem Schirm, da alle Samples die ich gefunden habe(auch auf der Hersteller-Seite), diese auch nicht verwenden.

Jetzt läuft es auch mit dem Reader.

DANKE und viele Grüße

Bigeddie

Erstellt vor 4 Jahren

Hallo Bhaal,

dann füge mal den Namespace als erstes Argument hinzu und lass es laufen.
Weiterhin habe ich auch mal den Namespace im Root-Element entfernt (Books.xml) und siehe da, es läuft ohne Fehler, obwohl kein "Name" knoten existiert, welcher ja lauf XSD mindestens einmal vorhanden sein muss.

Viele Grüße

Bigeddie

Erstellt vor 4 Jahren

verwendetes Datenbanksystem: <XML>

Hallo Community,

ich habe folgendes gefunden:

Habe eine kleines Konsolen-Programm geschrieben welches mir über einen XmlReader eine XMl-Datei gegen ein XSD validieren soll. Aber die Validierung läuft auch gegen komplett andere Xml#s durch.

Hier der Code:


using System;
using System.Xml;
using System.Xml.Schema;

class XmlSchemaSetExample
{
    static void Main()
    {
        XmlReaderSettings booksSettings = new XmlReaderSettings();
        booksSettings.Schemas.Add(null, "books.xsd");
        booksSettings.Schemas.Compile();
        booksSettings.ValidationType = ValidationType.Schema;
        //booksSettings.ValidationEventHandler += new ValidationEventHandler(booksSettingsValidationEventHandler);

        XmlReader books = XmlReader.Create("Adressen.xml", booksSettings);
        //XmlReader books = XmlReader.Create("Books.xml", booksSettings);
        int i=1;
        try
        {
            while (books.Read())
            {
                Console.WriteLine($"Zeile gelesen {i}");
                Console.WriteLine(books.Name);
                Console.WriteLine(books.Value);
                i++;
            }
        }
        catch (Exception e)
        {
            Console.Write(e.ToString());
        }

        
    }

    static void booksSettingsValidationEventHandler(object sender, ValidationEventArgs e)
    {
        if (e.Severity == XmlSeverityType.Warning)
        {
            Console.Write("WARNING: ");
            Console.WriteLine(e.Message);
        }
        else if (e.Severity == XmlSeverityType.Error)
        {
            Console.Write("ERROR: ");
            Console.WriteLine(e.Message);
        }
    }
}

Das Schema:


<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.contoso.com/books" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="bookstore">
        <xs:complexType>
            <xs:sequence>
                <xs:element maxOccurs="unbounded" name="book">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="title" type="xs:string" />
                            <xs:element name="author">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element minOccurs="1" name="name" type="xs:string" />
                                        <xs:element minOccurs="0" name="first-name" type="xs:string" />
                                        <xs:element minOccurs="0" name="last-name" type="xs:string" />
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="price" type="xs:decimal" />
                        </xs:sequence>
                        <xs:attribute name="genre" type="xs:string" use="required" />
                        <xs:attribute name="publicationdate" type="xs:date" use="required" />
                        <xs:attribute name="ISBN" type="xs:string" use="required" />
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

und zwei Xml's

<bookstore xmlns="http://www.contoso.com/books">
    <book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">
        <title>The Autobiography of Benjamin Franklin</title>
        <author>
            <first-name>Benjamin</first-name>
            <last-name>Franklin</last-name>
        </author>
        <price>8.99</price>
    </book>
    <book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2">
        <title>The Confidence Man</title>
        <author>
            <first-name>Herman</first-name>
            <last-name>Melville</last-name>
        </author>
        <price>11.99</price>
    </book>
    <book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6">
        <title>The Gorgias</title>
        <author>
            <name>Plato</name>
        </author>
        <price>9.99</price>
    </book>
</bookstore>

validiert nicht, da der Knoten "Name" fehlt.


<?xml version="1.0" encoding="utf-8"?>
<Adressen>
    <Adresse>
        <Name>Müller, Lieschen</Name>
        <Strasse>Musterstr.</Strasse>
        <Hausnummer>4</Hausnummer>
        <Plz>0815</Plz>
        <Ort>Musterdorf</Ort>
    </Adresse>
</Adressen>

Validiert, obwohl dieses XML nichts mit der Strüktur aus der XSD gemein hat.

Viele Grüße

Bigeddie

Erstellt vor 4 Jahren

SQL-Server 2015 mit EF 6.4.4

Hallo, ich habe eine Stored Procedure, welche mir über OUT inserted.id die PK''s der aktualisierten Datensätze zurückliefert.
Nun meine Fragen:

  1. Wie rufe ich die SP an effektivsten mit EF 6 auf?
  2. Wie übernehme ich die Datensätze die mit die Ausführung zurückgeliefert werden?

Vielen Dank

Bigeddie