Laden...

Forenbeiträge von DerPapenberg Ingesamt 116 Beiträge

07.11.2018 - 22:34 Uhr

Guten Abend zusammen,

@T-Virus,

leider ist Robocopy und andere Tools keine Option. Auf dem Quell-Sharepoint sind Dateien mit gewissen Zeichen erlaubt, die auf dem Ziel-Sharepoint nicht erlaubt sind (untschiedliche Verantwortlichkeiten und Richtlinien ). D.h, es muss auch noch eine Umbenennung und teilweise ein Zippen stattfinden, da auf dem Ziel-Sharepoint zusätzlich manche Dateiarten nicht gespeichert werden können (accdb und viele weitere). Aufgrund der schieren Masse kann das nur automatisiert gehen. Am liebsten würde ich einen reinen Fileserver hochziehen, aber ich bin nicht der Kostenstellenverantwortliche 😉
Wenn das nicht wäre, hätte ich die Daten bereits mit Robocopy, TotalCommander etc. übers Wochende migriert. Somit muss ich eine eigene Lösung schaffen, die bereits einwandfrei funktioniert. Der Knackpunkt war bis jetzt leider nur die sehr geringe Geschwindigkeit des Ziel-Sharepoints. Mit QuickIO
geht das bedeutend flotter, auch wenn eine normale Geschwindigkeit momentan noch nicht gegeben ist (wahrscheinlich ein Sharepoint in der VM mit einem Minimum an Ressourcenzuweisung 😁 ).

07.11.2018 - 16:45 Uhr

Hallo Abt,

wir sind zwei unterschiedliche Personen.

Das war nur ein Feedback von mir, da ich durch diesen Thread auf QuickIO gestoßen bin und hier offenbar meine Suche nach einem schnelleren Kopieren endet. Ich habe das PRoblem, das ich Daten
zwischen zwei Sharepoints migrieren muss. Mit dem Windows Explorer und System.IO ist das leider z.Z. extrem langsam. Mit QuickIO geht das bedeutend zügiger, was mich echt begeistert 😃

Btw: Mit der 2.6 habe ich das gleiche Problem wird der Quia_Respexit, wobei 2.0.1.0 bei mir lübbet.

07.11.2018 - 12:35 Uhr

Hallo,

kurz ein Feedback zur Version 2.0.1.0

Ich habe die jetzt getestet und stellte fest, dass der Kopiervorgang unter dieser Version zu meiner Begeisterung tadellos funktioniert und die Fehler nicht reproduzieren konnte.

Grüße

13.08.2018 - 08:01 Uhr

Guten Morgen zusammen,

aufgrund einer Datenmigration muss ich einen eigenen FolderBrowser erstellen, da die Pfadtiefe der Daten historisch bedingt auf viele hundert Zeichen angewachsen ist und jetzt eine Bereinigung erfolgen soll. Bei der Pfadtiefe macht der FolderBrowser nichts mehr mit.

Nun möchte ich mit Hilfe von AlphaFS bzw. muss ich einen FolderBrwoser erstellen. Hierzu möchte ich für die TreeView entsprechend Icons aus der Shell32.ddll bzw. imageres.dll verwenden. Unter WinForms stellt das kein Problem dar, da ich dort die mit ExtractIconEx eingelesenen und konvertierten Icons direkt in die zugehörige ImageList speichere. Unter WPF gibt es keine ImageList. Und nun zu der zu erwartenden Frage 😃 :

Wie kann ich aus der DLL eingelesene Icons für die Programmsession dem Programm zur Verfügung stellen? Was wäre denn der beste Ansatz dafür? Einfach eine 0815 Klasse mit List<ImageSource>?

Gruß und schönen Wochenbeginn

09.02.2017 - 20:16 Uhr

Hallo zusammen,

ich habe folgendes Problem beim Zugriff auf Images.

Ich habe in einer Solution mehrere Ordner und Projekte.
Die Images befinden sich in einem Ordner direkt unter der Solution und nicht
innerhalb eines Projektes.

Solution XY
|
|--> Ordner UI -->Images
|
|
|-->Ordner Projekte -->Ordner Projekt 1 usw.
|
|

Nun möchte ich in xaml aus dem Projekt 1, Projekt 2 usw. auf die png-Dateien im Ordner Images zugreifen, was mir aber nicht gelingt. Grafiken innerhalb der Projekte stellen kein Problem dar.
Wie kann ich aus den Projekten in xaml auf die png-Dateien des Ordners Images zugreifen?

05.02.2017 - 16:47 Uhr

Hallo zusammen,

ich habe mehrere Resourcenbücher. In eines dieser habe ich Images aufgelistet.
Ich würde nun eines dieser Images gerne in einer anderen Resourcendatei (Datatemplate)
verwenden (ResourceKey).

<Label Content="{StaticResource ResourceKey=womanpic}"/>

Dabei taucht ab immer eine Fehlermeldung beim Starten auf.

Fehlermeldung:
Ein Ausnahmefehler des Typs "System.Windows.Markup.XamlParseException" ist in PresentationFramework.dll aufgetreten.

Zusätzliche Informationen: Zeilennummer "8" und Zeilenposition "14" von "Die Angabe eines Werts für "System.Windows.Markup.StaticResourceHolder" führte zu einer Ausnahme.".

Ein <ResourceDictionary.MergedDictionaries> der Wörterbücher habe ich in der App.xaml durchgeführt.

Wie kann ein Resourcenwörterbuch über den ResourceKey auf deklarierte Images eines anderen Wörterbuches zugreifen?

21.03.2016 - 19:13 Uhr

Soderle,

wieder im Ländle 😃

Ja, Danke!

27.02.2016 - 11:35 Uhr

Hallo zusammen,

sorry für die späte Antwort.

@Abt

Man braucht meinen Nachnamen nicht in Anführungszeichen setzen - ich bin keine Sache.

Meine Intention zum setzen der Anführungszeichen diente mitnichten zu einer "Versachlichung" Deiner Person, sondern zu einer Bezugsnahme. Entschuldigung für das Missverständnis.

..........

Der Vermutung eines fehlenden Eintrages in der App.configg kann ich beipflichten 😃 Leider hatte ich nicht alles an wesentlichen Elementen aus der App.config gepostet. Der fehlende und fehlerhafte Teil ist dieser hier:

    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
      <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
    </providers>

Hier hilft es, den Eintrag wie folgt abzuändern:

    <providers>
      <provider invariantName="System.Data.SQLite" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6"/>
    </providers>

Die Methoden zur Konfiguration über Code kannte noch nicht. Danke für den Hinweis.

SQL für Inhalte - und vor allem bei SQLite - direkt zu verwenden ist halt alles andere als empfehlenswert.

Wieso wäre SQLite dafür ungeeignet (speichern einer Baumstruktur) und hier eher eine NoSQL-DB zu bevorzugen? Performance?

23.02.2016 - 14:56 Uhr

Hallo,

Danke für eure Anregungen.

Die Baumstruktur werde ich in eine XML Datei speichern bzw. diese serialisieren. In dieser werde ich auch die IDs für die Datensätze vermerken.

Der "Abt" nannte das Stichwort SQLite 😃
Diese ist als Speicherort vorgesehen. Hier tritt aber ein Problem zu Tage, welches wohl viele haben (laut Internet), aber eine gescheite Lösung scheint es dafür nicht zu geben.

Beim hinzufügen eines Datensatzes über das Entity Framework erhalte ich folgende Fehlermeldung:> Fehlermeldung:

System.InvalidOperationException wurde nicht behandelt.
HResult=-2146233079
Message=No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SQLite'. Make sure the provider is registered in the 'entityFramework' section of the application config file. See
>
for more information.
Source=EntityFramework
...

Meine App.config:


    <DbProviderFactories>
      <remove invariant="System.Data.SQLite.EF6" />
      <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
      <remove invariant="System.Data.SQLite" />
      <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
    </DbProviderFactories>
  </system.data>
  <connectionStrings>
    <add name="myTestModel" connectionString="data source=&quot;I:\Tests\TestDB.db&quot;" providerName="System.Data.SQLite.EF6" />
  </connectionStrings>

Manche empfehlen, den Eintrag .EF6 hinzuzufügen oder zu entfernen (sie zum Beispiel http://hintdesk.com/sqlite-with-entity-framework-code-first-and-migration/)

Nichts funktioniert. Habe viele Tipps durchexerziert, ohne Erfolg. Habt ihr vielleicht eine Idee?

20.02.2016 - 22:26 Uhr

Hm,

ich bin zu der Überlegung gekommen, die Baumstruktur eventuell in eine XML Datei zu speichern, wobei jeder Einrag eine eindeutige ID bekommt. Diese wird in den jeweiligen zugehörigen Datensatz gespeichert, sodass bei der Auswahl genau diese Datensätze geladen werden. Was haltet ihr davon?

20.02.2016 - 15:34 Uhr

verwendetes Datenbanksystem: LocalDB

Hallo zusammen,

ich möchte in einem Treeview eine Themenhierachie anzeigen. Diese solle während der Ausführung mit weiteren Themenordner gefüttert werden können. Das ganze soll in einer LocalDB gespeichert werden.

Meine Frage ist dahingehen, dass ich nicht weiß, wie ich Hierachien in einer SQL Datenbank speichern und im Nachgang mit tiefer hinzufügenden Hierachien versehen werden kann. Weiß jemand, wo ich dazu gezielt Infos bekommen kann?

19.09.2015 - 17:04 Uhr

Hallo zusammen,

ich stehte vor folgendem Problem:
Ich möchte, dass eine instanzierte Klasse (z.B. Klasse X) nur über eine Methode (bzw. Eigenschaft) einer weiteren Klasse (z.B. Klasse A) erreichbar ist. Wie kann ich erreichen, dass nur die Klasse A die Klasse X instanzieren kann?

Gruß

07.06.2015 - 20:30 Uhr

Ich habe die DB neu erstellt. Komisch, jetzt funktioniert alles.
Danke für eure Antworten.

07.06.2015 - 19:28 Uhr

Hast du die DB mal gelöscht und komplett neu erstellen lassen?

Nein, noch nicht. Ich wollte dieses ohne das löschen der DB und damit der Testdaten ausprobieren.

Es reicht eigentlich, wenn man die Migration neu initialisiert, sofern dieser Command auch im korrekten Projekt ausgeführt wird.

Dieses ist der Fall.

07.06.2015 - 18:31 Uhr

Eigenartig. Bei einer Erweiterung bestehende Pocos funktioniert Add-Migration!

07.06.2015 - 17:49 Uhr

verwendetes Datenbanksystem: <EF 6>

Hallo zusammen,

ich arbeite mich gerade in das EntityFramework ein und komme an einer Stelle nicht weiter.

In meiner TestDB habe ich nachträglich eine weitere POCO hinzugefügt und diese in der DbContext Klasse als DbSet eingetragen.

Wie bekomme ich die POCO ++nachträglich ++als Tabelle hinzugefügt? Bei der Ersterstellung der DB haben die Befehle Enable-Migrations, Add-Migrations XY und Update-Database funktioniert und die DB wurde mit den Tabellen erstellt. Ein erneutes Add-Migrations erzeugt mir zwar eine Abgeleitete Klasse vom DbMigration, aber ohne die Erstellungsanweisung(die POCO selber hat aber Eigenschaften!)

 
public partial class AddFlieger : DbMigration
{
      public override void Up(){}
        
      public override void Down(){}
}

Fazit:
Die Erstellung der DB mit den Tabellen funktioniert, ein nachträgliches Einfügen einer POCO scheitert. Werden zum ++nachträglichen ++hinzufügen von POCOs andere Befehle verwendet?

Gruß

16.05.2015 - 11:45 Uhr

Aber verwende doch einfach ganz normale POCO Klassen.

Als Einstiegstutorial EF mit einer bestehenden DB findet sich im Netz immer nur das ADO.NET Entity Data Model oder Code First mit der Erstellung einer DB von Grund auf (oder ich verwende schlichtweg die falschen Suchbegriffe). Kennt jemand eine Webseite, die erklärt, wie man ohne das ADO.NET Entity Data Model mit EF auf eine bestehende DB zugreifen an?
Aller Anfang ist schwer 😉

16.05.2015 - 07:40 Uhr

Guten Morgen,

Danke für den Hinweis!

Gruß

14.05.2015 - 17:37 Uhr

verwendetes Datenbanksystem: <localdb>

Hallo zusammen,

ich möchte jetzt mit dem Entity Framwork beginnen und stehe vor folgendem Problem:

Um das EF kennenzulernen, habe ich mir eine 08/15 LocalDB erstellt.

Installiert habe ich das EF mit Install-Package EntityFramework -Version 6.1.3 über die Paket-Manager-Konsole.

Beim anschließenden Aufruf von Hinzufügen/Neues Element wird mir in der Übersicht der Eintrag ADO.NET Entity Data Model nicht angezeigt. Unter _Verweise _im Projektmappen-Eplorer werden aber EntityFramework und EntityFramwork.SqlServer angezeigt. Kennt jemand diesen Umstand?

Gruß

06.04.2015 - 19:53 Uhr

Ich habe die Reperaturfunktion vom VS bemüht.
Jetzt funktioniert es wieder 😃

06.04.2015 - 17:14 Uhr

verwendetes Datenbanksystem: <localDB>

Hallo zusammen,

ich erstelle mit der Visual studio 2013 IDE eine localDB.
Nach dem erstellen der DB möchte ich dieser Tabellen hinzufügen.
Ein rechter Mausklick auf den Ordner Tabelle lässt ein unvollständiges Menü erscheinen.
Anstatt Einträge wie "Tabelle hinzufügen" finde ich nur die Einträge "Aktualisieren" und "Eigenschaften" vor (siehe Bild). Wer weiß Rat?

22.08.2014 - 16:22 Uhr

Der PK war es. Oha, el Blindo.

Danke für den Hinweis mit dem PK 😁

22.08.2014 - 15:34 Uhr

Habe ich gemacht. Ich wüßte nicht, was ich falsch gemacht hätte.

22.08.2014 - 13:19 Uhr

Die Spalte ID ist ein PrimaryKey. Die Beispieltabelle selber habe ich in der Managementkonsole erstellt. Im Prinzip was ganz simples.

22.08.2014 - 11:08 Uhr

verwendetes Datenbanksystem: <bitte immer angeben> SQL

Hallo zusammen,

ich verwende eine Dummy DB, um EF kennezulernen. Ich erhalte nun eine Fehlermeldung, die ich nicht richtig verstehe.

Die DB ist ganz simpel mit einer einzigen Tabelle ("Person" bzw. Name der Entitätsmenge = Personen) aufgebaut.

ID = Primary Key, IsIdentity
Vorname = nvarchar(50)
Name = nvarchar(50)

Hinzufügen will ich einen Datensatz nun wie folgt:


 DummyEntities c = new DummyEntities();

            c.Personen.Add(new Person() { Name = "Mueller", Vorname = "Hans" });

            try
            {
                c.SaveChanges();
            }
            catch (Exception ex)
            {

                throw;
            }

Bei SaveChanged wird folgende Exception geworfen

Fehlermeldung:
InnerException {"Unable to update the EntitySet 'Person' because it has a DefiningQuery and no <InsertFunction> element exists in the <ModificationFunctionMapping> element to support the current operation."} System.Exception {System.Data.Entity.Core.UpdateException}

Ich werde hieraus leider nicht ganz schlau. 🙁

16.08.2014 - 17:53 Uhr

Hallo zusammen,

es handelt sich um eine MDF Datei aus einem Buch. Aufgrund ihres simplen Aufbaus bietet diese sich quasi zum experimetieren an, um das EF kennenzulernen.

Selber wird das eigentliche spätere Programmn nur lokal auf meinem eigenen Rechner laufen. Da wird bestimmt keine andere IT darüber herrschen 😉

@Palladin007
Mit dem hinzufügen eines "ADO.NET Entity Data Model" funktioniert es!

Danke für eure Hilfe.

16.08.2014 - 08:45 Uhr

Moin zusammen,

wie binde ich eine bestehende *.MDF Datei für das EF 6 in VS 2013 ein?
Unter VS 2012 ziehe ich es quasi nur in die Solution rein und der Assistent poppt automatisch auf (jener aus "Datenquelle hinzügen".) In diesem findet sich auch die Auchswahl EF. Beim VS 2013 findet dieses nicht statt und unter "Datenquelle hinzügen" findet sich kein EF Eintrag. EF6 selber habe ich aber installiert. Hat sich was in VS2013 geändert?

10.08.2014 - 21:15 Uhr

Hallo zusammen,

da werde ich mir mal das EF anschauen

10.08.2014 - 18:53 Uhr

verwendetes Datenbanksystem: SQL-Express

Hallo zusammen,

das Entity Framework wird immer häufig überall erwähnt und empfohlen. Ich selber habe mich mit diesem Framework noch nicht auseinander gesetzt und frage mich, ob eine Empfehlung auch für eine kleine Desktopanwendung mit einer lokalen Datenbank auszusprechen sei oder ob man bis zu einer gewissen Größe weiter eher mit dem sichtbaren ADO.NET arbeitet soll. Ich bin mir da nicht schlüssig. Was mein Ihr?

Gruß

09.07.2014 - 17:51 Uhr

Im Prinzip sind es sehr einfache Daten.
Ich habe mal die Daten ein bißchen normalisiert (Anschrift lasse ich außenvor)

Gruß

08.07.2014 - 19:04 Uhr

Verwendetes Datenbanksystem: Diese Frage stellt sich mir 🤔

Hallo zusammen,

ich wende mich nicht an Euch wegen einem technischen Problem, sondern vielmehr welchen Weg ich einschlagen sollte. Daher auch die etwas ungewöhnliche Überschrift des Threads.

Ich möchte gerne in einem Programm die Daten von Nahrungsmittel zusätzlich erfassen und abspeichern. Die Daten umfassen jene allgemeinen Angaben, die bei Nahrungsmittel üblich sind. Sprich Name, Kalorien, Kohlenhydrate, Vitamine usw. Mir stellt sich jetzt die Frage, ob ich eine Normalisierung vornehmen soll und die Daten in eine SQL Datenbank erfasse oder ob ich ganze Datensätze erstelle und diese in einer db4o speichere.

Ich bin mir da nicht ganz schlüssig, welches Konzept hier das Bessere wäre. Hätte da jemand einen Denkanstoß für mich?

Gruß

Edit: errata

08.07.2014 - 18:49 Uhr

Danke an Euch.

Wieder was neues gelernt 😁

04.07.2014 - 12:00 Uhr

Hallo zusammen,

ich suche eine Lösung in Linq für ein eigentlich triviales Problem.

Ich habe eine List<string>
Nun möchte ich jeden Eintrag in der Liste mit dem vorherigen zusammenfügen, getrennt durch
ein Leerzeichen.

Beispiel:

 List<string> myListe = new List<string>();
                myListe.Add("Das");
                myListe.Add("ist");
                myListe.Add("das");
                myListe.Add("Haus");
                myListe.Add("vom");
                myListe.Add("Nikolaus");

All die Einträge sollen zusammen den Satz "Das ist das Haus vom Nikolaus" ergeben (wär hätte das gedacht 😄)

Sicherlich könnte ich dieses mit einer foreach Schleife bewältigen. Ich würde es gerne aber in Linq
realisieren. Finde aber nicht die Lösung dazu. Hätte da jemand ein Tip?

Gruß

24.08.2013 - 12:44 Uhr

Hallo zusammen,

ich würde gerne die Verfügbarkeit von Ribbonelementen (Ribbonbutton usw.) über RoutedCommands realisieren. Über Controls als CommandTarget lässt sich das leicht umsetzen. In meinem Fall soll das CommandTarget aber eine Klasse sein (keine Controlsklasse). Abhängig von deren Eigenschaften soll das Event CanExecute bedient werden. Wie bekomme ich jetzt nun die Klasse beim CommandManger registriert? Ein this.CommandBindings ist nicht möglich (ist ja kein UIElement)

Gruß

19.06.2013 - 15:55 Uhr

Hallo zusammen,

ich bin z.Z. am überlegen, ob ich das Visual Studio 2012 Professional kaufen soll.
Nun habe ich eine Frage zur Lizenz.

Darf ich das Visual Studio 2012 Professional auf zwei Geräte installieren (wobei immer nur einer davon an ist)?

Gruß

06.06.2013 - 13:37 Uhr

Danke.

Das muss ich mir heute Abend mal genauer anschauen 🙂

06.06.2013 - 09:06 Uhr

Hallo zusammen,

ich hänge an einem (vermutlich) simplen Problem fest und sehe den Wald vor lauter Bäume nicht mehr. Vielleicht kann mir jemand zu folgendem einen Tip geben:

In meinem Treeview soll das TreeViewItem abhängig davon, ob diese aufgeklappt oder zusammengeklappt ist, ein entsprechendes Image anzeigen. Hört sich trivial an, finde dazu aber keine Lösung, die bei mir funktioniert.

Hier mal ein Codeausschnitt:


 xmlns:io="clr-namespace:System.IO;assembly=mscorlib"  

 <Image x:Key="Folder16" Width="16" Height="16" x:Shared="False" Source="Images/Folder16.png"/>
        <Image x:Key="FolderOpen16" Width="16" Height="16" x:Shared="False" Source="Images/FolderOpen16.png"/>

  <HierarchicalDataTemplate   x:Key="dtpDir" DataType="{x:Type io:DirectoryInfo}">
            <DockPanel Height="20">
                <Label x:Name="lblFolder" Padding="0" Width="20" Height="20" VerticalContentAlignment="Center" 
                       Content="{DynamicResource ResourceKey=Folder16}" DockPanel.Dock="Left"/>
                <Label Padding="0"  Height="20" VerticalContentAlignment="Center"
                       Content="{Binding Path=Name}" Tag="{Binding Path=FullName }"/>
            </DockPanel>
            <HierarchicalDataTemplate.Triggers>
                <Trigger Property="TreeViewItem.IsExpanded" Value="true">
                    <Trigger.Setters>
                        <Setter TargetName="lblFolder.Content" Value="{DynamicResource ResourceKey=FolderOpen16}"/>
                    </Trigger.Setters>
                </Trigger>
            </HierarchicalDataTemplate.Triggers>
        </HierarchicalDataTemplate >

Beim zuweisen des Templates erhalte ich die folgende Fehlermeldung:> Fehlermeldung:

Nicht-NULL-Wert für "Setter.Property" erforderlich.


TreeViewItem xn = new TreeViewItem();
xn.HeaderTemplate = FindResource("dtpDir") as HierarchicalDataTemplate;

Ich frage mich, ob dieser Weg in XAML der empfohlende ist (gibt es einen eleganteren Weg?) und warum mein Code nicht funktioniert...

Gruß

08.05.2013 - 08:08 Uhr

Ich weiß zwar nicht, warum mein Code immer noch nicht funktioniert, aber ich habe eine Alternative dazu gefunden.

Anstatt

 
<DockPanel>
   <WindowsFormsHost x:Name="host"/>
</DockPanel>

verwende ich nun


 xmlns:ch="clr-namespace:System.Windows.Forms.DataVisualization.Charting;assembly=System.Windows.Forms.DataVisualization"

 <WindowsFormsHost x:Name="host">
    <ch:Chart x:Name="chrChart"/>
 </WindowsFormsHost>

So funktioniert es 😃

06.05.2013 - 14:46 Uhr

Daran liegt es leider nicht! Gerade noch mal versucht.

06.05.2013 - 11:57 Uhr

Hallo zusammen,

für das Anzeigen von Daten möchte ich das MS Chart verwenden. Leider wird kein Chart angezeigt. Hier ein einfaches Beispiel:

<Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="356*" />
            <RowDefinition Height="43*" />
        </Grid.RowDefinitions>
        <DockPanel >
            <WindowsFormsHost x:Name="host"/>                            
        </DockPanel>
    </Grid>

            Chart chart = new Chart();
            chart.Width = 500;
            chart.Height = 600;
           
            Random random = new Random();

            chart.ChartAreas.Add(new ChartArea("area"));
            chart.Series.Add("series");
            chart.Series["series"].ChartType = SeriesChartType.Line;
            chart.Series["series"].Points.AddY(random.Next(20, 50));

            host.Child = chart;


Ich finde leider den Fehler nicht, der eine Anzeige verhindert.

24.04.2013 - 09:26 Uhr

Oha, ich habe wohl vor lauter Bäume irgendwann den Wald nicht mehr gesehen 😭

Mit

      private void AddData()
        {
            try
            {
                IEmbeddedConfiguration config = Db4oEmbedded.NewConfiguration();
                config.Common.UpdateDepth = 5;
                IObjectContainer db = Db4oEmbedded.OpenFile(config, Datenbankpfad);                
                IObjectSet query = db.Query(typeof(Year));

                Year year = (Year)query.Next();
                year.Days.Add(new Day(5));

                db.Store(year);             
                db.Close();
            }
            catch (Exception)
            {
                throw;
            }
        }

funtioniert es!

BTW: Das Demoprogramm, welches von deiner angegebenen Seite heruntergeladen werden kann, funktioniert übrigens nicht (die haben im OpenFile die config nicht mit angegeben) 😉

Danke für die Hilfe!

23.04.2013 - 21:45 Uhr

Beim normalen Eigenschaften wie int, string ect. werden diese in der Tat wie in den meisten Beispielen gespeichert. Wenn es sich aber bei der Eigenschaft um eine List<T>handelt, so können neue Eigenschaftswerte von einzelnen T Objekten (egal ob int, string ect.) bzw. das hinzufügen von T Objekten in die Liste nur über Datenbank.Store(Objekt.List<T>) realisiert werden. Ich habe mir einen Wolf danach gesucht, wie man eine veränderte List<T> Eigenschaft abspeichert. Leider wurde ich nicht fündig. Nur durch das herumexperimentieren stieß ich auf diese Lösung.

23.04.2013 - 12:45 Uhr

Ich habe die Lösung gefunden 🙂 Beim Abspeichern muss die veränderte Eigenschaft des Objektes übergeben werden. Die Angabe des gesamten Objektes an sich funktioniert nicht.

private void AddData()
        {

            try
            {
                IObjectContainer db = Db4oFactory.OpenFile(Datenbankpfad);
                IObjectSet query = db.Query(typeof(Year));

                Year year = (Year)query.Next();
                year.Days.Add(new Day(5));

                // Falsch !!  db.Store(year);

                // Richtig
                db.Store(year.Days);
           
                db.Close();
            }
            catch (Exception)
            {
                throw;
            }

22.04.2013 - 13:23 Uhr

Verwendetes Datenbanksystem: db4o (http://www.db4o.com/DownloadNow.aspx

Hallo zusammen.

Für einfache Objektspeicherungen ziehe ich z.Z. die Datenbank db4o in Betracht. Um diese näher kennenzulernen, experimentiere ich z.Z.
mit dieser. Abfragen wie auch das Abspeichern / Update von Daten soll über die LinQ Syntax erfolgen.
Leider habe ich z.Z. das Problem, Daten aktualisert in die Datenbank zu speichern. Die Veränderungen werden einfach nicht übernommen.
Nasch Möglichkeit möchte ich keine QueryByExample verwenden, sondern das Ganze in LinQ zu halten. Nachfolgend habe ich ein simples Beispiel erstellt,
um mein Problem zu verdeutlichen.



   public class Year
    {
        public List<Day> Days
        {
            get;
            set;
        }

        public Year()
        {
            this.Days = new List<Day>();
        }
    }

public class Day
    {
        public int DayNumber
        {
            get;
            set;
        }

        public Day(int number)
        {
            this.DayNumber = number;
        }
    }

// In der Datenbank befinden sich 3 Year Objekte!!

        private void AddData()
        {

            try
            {
                IObjectContainer db = Db4oFactory.OpenFile(Datenbankpfad);
                IObjectSet query = db.Query(typeof(Year));
                
                Year year = (Year)query.Next();
                year.Days.Add(new Day(5));

                db.Store(year);
                db.Commit(); 
                db.Close();
            }
            catch (Exception)
            {                
                throw;
            }
        }

Lese ich die Daten neu ein, so stelle ich fest, dass die Eigenschaft DaysCount des ersten Year Objektes 0 ist. Die Daten wurde also nicht übernommen.



  private void ReadData()
{
 IObjectContainer db = Db4oFactory.OpenFile(Datenbankpfad);
           
 List<Year> years = (from Year year in db
                                select year).ToList();

// Hier erscheint leider der Wert 0
            int x = years[0].Count;
}

Ich kann mir nicht erklären, warum das Objekt nicht aktualisiert in die Datenbank geschrieben wird. WO liegt hier mein Fehler?

Gruß