Laden...
W
Benutzerbeschreibung

Forenbeiträge von witte Ingesamt 955 Beiträge

17.09.2015 - 11:50 Uhr

Hi,

die Auswahl der Sprache in Neue Konfiguration.Allgemeine Einstellungen ist nicht sortiert.

16.09.2015 - 13:20 Uhr

Arrays tauchen selbst im Framework an diversen Stellen auf, daher hat man im Alltag immer wieder damit zu tun. Aber so richtig toll sind sie dennoch nicht Arrays considered somewhat harmful

Um LaTinos Beitrag noch zu ergänzen: Man würde in C#, in dem von PaBa konstruierten Beispiel, wohl eher eine Collection mit Key-Value Paaren einsetzen. Etwa einer HashTable oder einem Dictonary Sicherlich das Dictionary<k,v>. Was soll man denn mit einfachen Jahreszahlen anfangen? Das wären doch eher Modellklassen wie ProduktionProJahr o.ä.

14.09.2015 - 11:32 Uhr

Hi,
noch eine andere Überlegung falls das nicht mit EF klappt. Du könntest versuchen das mit Vererbung zu lösen. Wenn jeder Test vorhanden sein muß, manche Tests ein Detail besitzen, könnte man das auch so abbilden das es eine Basisklasse Test gibt und eine abgeleitete Klasse DetaillierterTest welche dann die Detailinfos aufnimmt. Wenn man das dann als TablePerType konfiguriert sollte am Ende dasselbe rauskommen.

14.09.2015 - 11:00 Uhr

Hi,


    internal class TestConfig : EntityTypeConfiguration<Test>    
    {

        public TestConfig()
        {
            
            HasKey(x => x.ID);
            Property(x => x.ID).IsRequired().HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
            ToTable("TestDetails");

            HasOptional(p => p.Testdetail).WithRequired(p => p.Test);
        }
    }


    internal class TestDetailConfig : EntityTypeConfiguration<TestDetail>    
    {

        public TestDetailConfig()
        {
            
            HasKey(x => x.ID);
            Property(x => x.ID).IsRequired().HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
            ToTable("Tests");

            HasRequired(p => p.Test).WithOptional(p => p.Testdetail);
        }
    }

09.09.2015 - 17:33 Uhr

Du könntest mal probieren:
* wenn jedes A B's besitzt kannst du B's laden und die A's dranhängen, also "von hinten" anfragen
* mgl klappt es nicht weil die B's zwischen A1 und A2 unterschiedlich sind. Man könnte mal testweise sowohl A1 und A2 eine Liste von B1's geben und schauen ob das funktionieren würde
* vllt klappt der Projektionstrick

09.09.2015 - 16:51 Uhr

Hi

check mal ob das Vertauschen von Include mit OfType klappt: stackoverflow

09.09.2015 - 12:46 Uhr

Hi,

wozu brauchst du da generische Klassen? Du wirst wahrscheinlich viel eher ein Problem mit der Kovarianz bekommen.

08.09.2015 - 13:56 Uhr

Absteigend sortieren und den ersten nehmen.

08.09.2015 - 13:30 Uhr

Außerdem: Bist du dir sicher dass du nach 0x09 die 0x10 definieren willst?

07.09.2015 - 10:36 Uhr

Du könntest mal mit snoop schauen ob das Element noch irgendwelche Stile erbt.

06.09.2015 - 15:46 Uhr

.. und zwar in GenericRepository.cs:Zeile 93?

04.09.2015 - 14:18 Uhr

Hallo,

vllt wird es verständlicher wenn du mal einen kurzen Ausschnitt postest wie die Datei aussieht von Cypress generiert wird und sagst wie das Zielformat aussehen soll.

04.09.2015 - 12:09 Uhr

Alternativ kann man sich auch die Entwurfsmuster reinziehen, Kompositum mit Visitor und Builder

03.09.2015 - 15:46 Uhr

Hi,

vllt eine weitere SQL Server-Instanz verwenden?
Multiple Instances of SQL Server

01.09.2015 - 10:45 Uhr

... oder gleich Producer/Consumer pattern mit TPL Dataflow o.ä.

28.08.2015 - 11:53 Uhr

lohnt sich übrigens (wert & 1 == 0) statt (wert % 2 == 0) Vorsichtig mit solchen Äußerungen.
C# .Net: Fastest Way to check if a Number is Odd Or Even:::

25.08.2015 - 14:44 Uhr

Hi,

ich kenne das MVVMLight nicht. Dein Locator scheint eine Art Service Locator zu sein bei dem man sich das entsprechende VM "heraussucht" (dieses DataContext="{Binding Test, ...}).
Zur Not könnte man behelfsmäßig:
* ein Singleton bauen das in der DLL ist und den Locator aufnehmen kann
* beim Starten der App übergibst du diesem Singleton den Locator
* in der Code-Behind der Views greifst Du im Konstruktor auf den Locator zu und bindest das passende VM an den DataContext

Ist aber eine unsaubere Lösung mit vielen Abhängigkeiten. Also solltest Du vllt das in der Exe lassen und die BL in eine DLL auslagern (wie schon empfohlen) oder ein anderes Framework nehmen wenn MVVM Light keine andere Lösung bietet..

25.08.2015 - 14:20 Uhr

Hi,

ich würde es davon abhängig machen wo es benötigt wird. Wenn Du es in der BL brauchst (z.B. automatisches Erstellen von E-Mails in der BL die diese Anrede benötigen) kann man es direkt in das Modell packen ansonsten wäre das VM der bessere Ort.

25.08.2015 - 11:30 Uhr

Hallo,

du könntest eine ListBox verwenden und das konkrete Aussehen eines einzelnen Objektes/Datenzeile mit einem ItemTemplate definieren.

22.08.2015 - 15:57 Uhr

Hi,

verwende doch einen dependency injection container.

21.08.2015 - 13:10 Uhr

Und warum liest du dir die Doku nicht durch?

The format is YYYY:MM:DD HH:MM:SS with time shown in 24-hour format and the date and time separated by one blank character (0x2000).

20.08.2015 - 13:56 Uhr

Hi,

schau doch einfach nach ob ein Vorgänger existiert und dieser denselben Wert hat.

17.08.2015 - 11:17 Uhr

Hi

prüfe mal ob die Datumsangaben immer einen korrekten Wert haben. Wenn das nicht der Fall ist liefert DateTime.TryParse default(DateTime) zurück und dieser Wert ist zu klein um ihn in ein SQLType datetime zu speichern.

14.08.2015 - 14:12 Uhr

Hi,

vererbung ist hier tatsächlich das Stichwort. Such mal nach Table per Type / Table per hierarchy.

07.08.2015 - 11:45 Uhr

Hi,

Hast du mal mit UIElement.SnapsToDevicePixels rumgespielt?

06.08.2015 - 15:11 Uhr

Schau mal ob Grid.IsSharedSizeScope weiter hilft.

06.08.2015 - 11:34 Uhr

Wenn ja, welchen Sinn hat dann "await" ? So wie ich das verstanden habe, wartet "await" quasi doch darauf, das der Task durchgelaufen ist... Du wartest doch gar nicht:


var Res=ScanFilesRecursiveAsync(DirInfo.FullName, Extensions);

=>


return await Task<List<string>>.Run(async () =>
...
var Res=await ScanFilesRecursiveAsync(DirInfo.FullName, Extensions);

06.08.2015 - 11:00 Uhr

Hi,

vllt hast du ein solches Property:



        private String test;
        public String Test
        {
            get { return test; }
            set { 
            
                if (test != value) {

                    test = value;
                    RaisePropertyChanged("Test");
                    <langdauernde Aktion>();
                }
            }
        }


wenn Du jetzt einfach test setzt (das Field nicht das Property) und manuell RaisePropertyChanged("Test") aufrufst wird die langdauernde Aktionnicht aufgerufen. Meinst Du sowas?

06.08.2015 - 10:35 Uhr

Hi,

es ist sicherlich ungünstig wenn mehrere Tasks gleichzeitig die Festplatte durchsuchen da hier der Schreib/Lesekopf auf der Platte nur hin- und herspringt und dadurch noch viel mehr Zeit verbraucht wird.
* verwende einen Task der die Arbeit macht
* verwende CancellationToken um die Arbeit abbrechen zu können
* verwende IProgress<T> um den Fortschritt anzuzeigen
* Abt hat glaube ich eine Lib dafür entwickelt, vllt kannst Du diese verwenden

04.08.2015 - 12:08 Uhr

Er wird m.E. so oder so die DLLs komplett in den Speicher laden die deine Assemblies referenzieren. Also entferne lieber unnötige Referenzen.
(Das Betriebssystem könnte evtl nur Teile einer DLL laden - und später benötigte Teile durch die Seitenfehler nachladen aber das ist unabhängig von dir)
Ich würde an Deiner Stelle nicht solche Mikrooptimierung durchführen, es ist besser geeignete Datenstrukturen und Algorithmen zu verwenden - mit verringerten Laufzeit- und Speicherkomplexitäten läßt sich viel mehr rausholen.

04.08.2015 - 11:50 Uhr

Hi,

ist komplett Rille, das macht der Compiler zur Entwurfszeit.

02.08.2015 - 11:38 Uhr

Ja, schon klar, anti pattern "inner platform effect".
Ich würde versuchen sowas mit Linq Expressions abzubilden und dann mit Proxies etc weitere Bediningungen in die Expression zu injizieren.

01.08.2015 - 21:19 Uhr

@T-Virus
Das hat er aber in dem verlinkten Thread erklärt wozu er meint das zu brauchen.

22.07.2015 - 15:20 Uhr

Mit Realweltvergleichen: Ich kann die SZ abonieren, aber nicht selbst drucken.. Richtig? Das wichtige hier ist dass Du andere nicht davon abhalten kannst ebenfalls zu abonnieren. => Zugriffsschutz.

17.07.2015 - 12:23 Uhr

Werden Deadlocks nicht vom SQL Server automatisch aufgelöst ? Du meinst der Server bricht in diesem Fall eine Transaktion ab? Ja das sollte so sein.
* kannst du denn ausmachen was an diesem Kunden anders ist? Andere Konfiguration, anderer Umgang mit der Software?
* du könntest evtl mal schauen ob der Transaktion Isolation level **Snapshot ** hier helfen könnte.

13.07.2015 - 15:13 Uhr

Na du bindest keine Datatable an das Grid sondern eine IEnumerable<MyViewModel>. MyViewModel nimmt die Informationen einer Datatablezeile auf.


    public class MyViewModel
    {

        public String Name { get; set; }
        public DateTime? Termin { get; set; }
        
        public String TypFarbe
        { 
            get {
            
                if (!Termin.HasValue) return "DarkSalmon"; 
                return "LightSkyBlue"; 
            }
        }
    }

und dann vllt


<DataGrid ItemsSource="{Binding Termine}" >
    <DataGrid.Columns>
        <DataGridTextColumn Binding="{Binding Name}" Header="Name" Width="Auto" >
            <DataGridTextColumn.CellStyle>
                <Style TargetType="DataGridCell" >
                    <Setter Property="Background" Value="{Binding TypFarbe}" />
                </Style>
            </DataGridTextColumn.CellStyle>
        </DataGridTextColumn>
        <DataGridTextColumn Binding="{Binding Termin, StringFormat=d}" Header="Datum" Width="Auto" >
            <DataGridTextColumn.CellStyle>
                <Style TargetType="DataGridCell" >
                    <Setter Property="Background" Value="{Binding TypFarbe}" />
                </Style>
            </DataGridTextColumn.CellStyle>
        </DataGridTextColumn>
     </DataGrid.Columns>
</DataGrid>

Wenn du die Objekte im Datagrid ändern willst sollte es eine ObservableCollection<MyViewModel> werden und die Objekte sollten INotifyPropertyChanged implementieren.

10.07.2015 - 11:57 Uhr

... dann wäre es natürlich wiederum interessant zusehen wieweit sich die SQL Statements unterscheiden. Zur Not kannste ja die obere Abfrage verwenden und im Client per Linq2Objects die anonymen Objekte erzeugen.

03.07.2015 - 17:44 Uhr

Hi,

wie rufst Du denn den Webservice auf? mit TLS also https: statt http: ?

01.07.2015 - 13:47 Uhr

@Stefan.Haegele
In Access konnte man in einer ComboBox Text eintippen, das Teil sprang dann zum ersten gefundenen Satz. Das haben Generationen an PowerUsern so verwendet, jetzt bekommen sie eine neue Software und wollen unbedingt diese veraltete Funktionalität weiter verwenden. Das ist leider in der Praxis häufiger so.

01.07.2015 - 12:07 Uhr

Hi,

  1. Du könntest ViewModels statt der DataTable vewenden die dann Properties für die Farbe besitzen.

  2. Du könntest Stile definieren und dann über das ResourceDictionary des Controls darauf zugreifen.


            var brd = new Border();
            brd.Style = (Style)myControl.Resources["ElementBorderStyle"];

01.07.2015 - 11:13 Uhr

Hi,

Du könntest mal nach einem geeigneten Autocomplete-Control o.ä. suchen. Da müssen nicht alle angezeigt werden und der Benutzer sieht eine Auswahl die zu seinem Suchbegriff passt.

25.06.2015 - 11:03 Uhr

Hi

mal was anderes: Wenn es doch nur ein Filterwert ist, warum nimmst du nicht einfach ein Nullable<int> als Filterwert? Dann sollte der Validator nicht anschlagen.

23.06.2015 - 10:26 Uhr

.. die Komprimierungsmöglichkeit (ZipStream) eines textbasierten Protokolles wie JSON sollte ebenfalls noch erwähnt werden.

19.06.2015 - 18:33 Uhr

Hallo,

mal blind geraten: Es hört sich so an dass die Benutzerrechte die der Webserver bekommt nicht weiter delegieren kann (Stichwort Delegation)

19.06.2015 - 12:49 Uhr

Hi,
probier mal ob MySQL dynamische Views unterstützt:


SELECT *
FROM
(
  SELECT id, beleg_nummer 
  FROM lvs_auftrag 
  WHERE kommissioniert = 0 AND versendet = 0 
  ORDER BY id ASC 
  LIMIT 20
) au
JOIN Artikel at ON au.id=at.auftrag_id
JOIN Bestand bs ON au.id=bs.auftrag_id