Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von Ahrimaan
Thema: O/R Mapper und Codegeneratoren
Am im Forum: Datentechnologien

Hallo zusammen,

ich habe eine Zeit lang mit EF gearbeitet , danach EF 4.1 wegen dem Code First Ansatz.
Da wir nicht nur gegen MSSQL Datenbanken programmieren und der Code First bisher nur mit MSSQL funktioniert hat (korrigiert mich wenn ich mich irre), bin ich recht schnell zu nHibernate gewandert bzw. zu fluentnHibernate.
Vorteil ist, du musst eben keine XML Dateien fürs Mapping schreiben, du kannst alles im Code erledigen !
Linq ist genauso nutzbar wie unterschiedliche Context, Lazy Loading etc.

Grüße

Thema: Silverlight 5 - die nächste oder die letzte Version?
Am im Forum: Szenenews

Zitat von bredator
Mit hässlich meinte ich eher den Code der Logik... die wird ja aber, wie ich eben gemerkt habe, eben nicht mit JS geschrieben, wäre in diesem Fall aber tatsächlich sehr hässlich bzw. teilweise auch nicht lösbar. ;)

Auch das ist Irrglaube : mit JS kann man sehr wohl schönen lesbaen Code schreiben, welcher viel kann. js steht den anderen Sprachen in nichts(oder wenigen Punkten)nach, gerade durch Node.js usw.

Thema: fluentNhibernate : Doppelte Foreign keys
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: <MSSQL2005>

Hallo zusammen,
beim Mapping der Klassen wird beim Createscript jeweils 2 ForeignKeys angelegt obwohl nur einer deklariert ist :

public class GeplanterRaum
    {
        public virtual int ID { get; set; }
        public virtual int AnzahlPlätze { get; set; }
        public virtual DateTime Bis { get; set; }
        public virtual string TelefonTyp { get; set; }
        public virtual IList<RefZeitabschnittToGeplanterRaum> Abschnitte { get; set; }
    }

public class Zeitabschnitt
    {
        public virtual int ID { get; set; }
        public virtual string Name { get; set; }
        public virtual DateTime Datum { get; set; }
        public virtual DateTime Bis { get; set; }
        public virtual int GeplanteMitarbeiter { get; set; }
        public virtual Gala Gala { get; set; }
        public virtual IList<RefZeitabschnittToGeplanterRaum> GeplanteRäume { get; set; } 
    }

public class RefZeitabschnittToGeplanterRaum
    {
       public virtual int ID { get; set; }
       public virtual Zeitabschnitt Abschnitt { get; set; }
       public virtual GeplanterRaum Raum { get; set; }
    }
Und das Mapping :


public class MappingGeplanterRaum:ClassMap<Model.GeplanterRaum>
    {
        public MappingGeplanterRaum()
        {
            Id(p => p.ID);
            Map(p => p.AnzahlPlätze);
            Map(p => p.Bis);
            Map(p => p.TelefonTyp);
            //HasMany(p => p.Abschnitte);
        }
    }
 public class MappingZeitabschnitt:ClassMap<Model.Zeitabschnitt>
    {
        public MappingZeitabschnitt()
        {
            Id(p => p.ID);
            Map(p => p.Name);
            Map(p => p.Datum);
            Map(p => p.Bis);
            Map(p => p.GeplanteMitarbeiter);
            References(p => p.Gala);
            //HasMany(p => p.GeplanteRäume);

        }
    }

public class MappingRefzeitabschnittToGeplanterRaum:ClassMap<Model.RefZeitabschnittToGeplanterRaum>
    {
        public MappingRefzeitabschnittToGeplanterRaum()
        {
            Id(p => p.ID);
            References(p => p.Abschnitt);
            References(p => p.Raum);
        }
    }

Irgendwas passt da wohl nicht direkt den Fehler sehe ich aber nicht ....

Zweite Frage : Kann man in nHibernate tatsächlich keine reinen Foreign Key Tabellen generieren , MUSS man immer nen Primary Key angeben ?

Danke für eure Hilfe

Thema: Datensicherung eines gemieteten vServers: Wie? Womit?
Am im Forum: Smalltalk

Hi,
ja ich muss es lokal ablegen, kein Sicherungsmedium vorhanden und der Intervall sollte 1x Wöchentlich sein

Grüße

Thema: DataGridView Filter bei BindingSource
Am im Forum: GUI: Windows-Forms

Hi, ne.
Also muss ich doch "zu Fuß" filtern ....

Danke

Thema: Datensicherung eines gemieteten vServers: Wie? Womit?
Am im Forum: Smalltalk

Hi, danke für die Antwort.
Naja ich habe nur per SSH Zugriff auf die Dateien.
Ich möchte aber sehr gerne die wichtigsten funktionalitäten sichern (Configs der Mailserver und Webserver) usw.
sodass ich bei einem Ausfall oder Wechsel des Hoster meine alte Config aktivieren kann.

Grüße

Thema: DataGridView Filter bei BindingSource
Am im Forum: GUI: Windows-Forms

Hallo zusammen,
leider darf ich bei einem Projekt kein WPF nutzen und muss nun Daten über ein DataGridView anzeigen lassen.

Ich habe nun folgendes gemacht :

private Repository.Repository<Models.Mitarbeiter> _maRepo;
private BindingSource _bsMitarbeiter;

private void FillDgv()
{
_bsMitarbeiter = new BindingSource();
            _bsMitarbeiter.DataSource =
                _maRepo.Select(p => new {p.ID,p.Vorname,p.Nachname,p.PersonalNummer,p.Team});
MitarbeiterGRid.DataSource = _bsMitarbeiter;

}

void textBox1_TextChanged(object sender, EventArgs e)
        {
            _bsMitarbeiter.Filter = string.Format("Nachname like '{0}%'", textBox1.Text);
        }
}
Nach meinem Verständnis müsste ich nun bei einem TextChanged der Textbox das DGV gefiltert werden oder ? Leider tut sich nix.
Was mache ich falsch ?

Grüße

Thema: [erledigt] fluent nHibernate Mapping
Am im Forum: Datentechnologien

Besten dank, das war mein Fehler !

Thema: [erledigt] fluent nHibernate Mapping
Am im Forum: Datentechnologien

Hmm das ganze wird mir nun immer schleierhafter.
Jetzt habe ich es durhc IList ersetzt ok geht.
Nur wird der Telefontyp nicht richtig gesetzt

also zB Telefontyp ID 1 Id 2 usw. als ob er immer nur die ID erhöhen würde...
Muss man beim Mapping auf Fremdtypen noch etwas angeben ausser Hasone oder HasMany ?

Thema: [erledigt] fluent nHibernate Mapping
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: <MSSQL 2005>

Hallo zusammen,
ich habe ein Problem wo ich den Fehler nicht sehe.

Ich habe folgende Entitäten :

public class Raum
    {
        public virtual int ID { get; set; }
        public virtual string Name { get; set; }
        public virtual List<Platz> Plätze { get; set; }
        //public virtual RaumPlan Plan { get; set; }
    }

  public class Platz
    {
        public virtual int ID { get; set; }
        public virtual string Pc { get; set; }
        public virtual TelefonTyp Telefontyp {get;set;}
        public virtual string Telefonnummer { get; set; }
        public virtual Raum Raumzuordnung { get; set; }
        public virtual List<MaToGalaPlanningToPlatz> GeplanteGalenZuordnung { get; set; }
        public virtual string Koordinate { get; set; }
    }

Und das Mapping :

public class RaumMapping:ClassMap<Raum>
    {
        public RaumMapping()
        {
            Id(p => p.ID);
            Map(p => p.Name).Not.Nullable();
            HasMany(p => p.Plätze).Cascade.All();
        }
    }

 public class PlatzMapping:ClassMap<Platz>
   {
       public PlatzMapping()
       {
           Id(p => p.ID);
           Map(p => p.Pc);
           Map(p => p.Telefonnummer);
           Map(p => p.Koordinate);
           HasOne(p => p.Raumzuordnung);
           HasOne(p => p.Telefontyp);
           HasMany(p => p.GeplanteGalenZuordnung).Cascade.All();
       }
    }
Wenn ich jetzt probiere auf die Plätze in einem Raum zu zugreifen erhalte ich folgende Exception :
Fehler
Das Objekt des Typs \"NHibernate.Collection.Generic.PersistentGenericBag`1[SPUS.Models.Platz]\" kann nicht in Typ \"System.Collections.Generic.List`1[SPUS.Models.Platz]\" umgewandelt werden.
Öhh nur warum des seh ich nicht so ganz ....

Thema: Datensicherung eines gemieteten vServers: Wie? Womit?
Am im Forum: Smalltalk

Hallo zusammen,

ich habe einen vServer angemietet. Ich möchte den nun ab und an sichern. Gibt es ein gutes Sicherungsprogramm was Linux im laufendem Betrieb sichern kann ohne wirklichen Physikalischen Zugriff ? Ich habe mal das Hauseigene von Linux genutzt , dieses warnt micha ber sofort, dass es nicht alles sichern kann, da die Hauptplatte gemountet ist.

Viele Grüße

Thema: Grafikkarte: Art, RAM, Taktung und Auslastung ermitteln
Am im Forum: Rund um die Programmierung

Hi Gü,
über WMI kriegst du bei den Karten keine Infos über Taktung , Auslastung und Temepratur raus.
Da muss man meistens die API des Treibers nutzen.

Grüße

Thema: Server im lokalen Netz suchen
Am im Forum: Netzwerktechnologien

Hi,
auf die schnelle fällt mir sowas nicht ein, man könnte es ja mit SSDP Wikipedia oder aber mit Multicasts probieren.
Einen ähnlichen Mechanismus ala WCF gibt es für Remoting IMHO nicht.
Aber über eines der beiden gennanten Lösungswege könntest du eine ähnliche Funktion realisieren

Grüße

Thema: Server im lokalen Netz suchen
Am im Forum: Netzwerktechnologien

Hi,
du kannst zB mit WCF (ab .net 4.0) den WCF Discovery nutzen
WCF Discovery

Viele Grüße

Thema: public / internal vs. Unit-Tests
Am im Forum: Rund um die Programmierung

Hi LittleBoy,

es würde sicher Sinn machen, deine Anwendung so zu refaktorieren , dass Teile in eigene Klassen wandern und demnach testbar werden.
Alles in einer Form mit internal Methoden zu machen halte ich für den falschen Weg.

Grüße

Thema: Scrum (Agile Softwareentwicklung) - Verbreitung
Am im Forum: Rund um die Programmierung

Hi Tom, du magst da recht haben, aber SCRUM hilft mir da nicht unbedingt weiter, da die Initialschätzung meißtens in die Hose geht , ob mit oder ohne SCRUM ;-)
Wobei man ja bei SCRUM keine Stunden mehr angibt ;-)

Thema: Scrum (Agile Softwareentwicklung) - Verbreitung
Am im Forum: Rund um die Programmierung

Da wir nur zu zweit sind, fällt bei uns das Thema SCRUM raus ;-)

Thema: Beamer korrekt ansteuern
Am im Forum: Grafik und Sound

Das MUSS der Treiber deiner Grafikkarte steuern , da hilft dir kein C# Programm .....

Thema: WPF MVVM Workspace : Es wird keine neue Instanz des WorkSpace erstellt
Am im Forum: GUI: WPF und XAML

Hi,
ja gebe ich dir recht aber daran lag es nicht :
Ich hatte im jeweiligem UserControl im XAML einen DataContext gesetzt.
Dadurch wurde immer nur das eine ViewModel genutzt.
Ohne den DataContext geht es.

Grüße

Thema: WPF MVVM Workspace : Es wird keine neue Instanz des WorkSpace erstellt
Am im Forum: GUI: WPF und XAML

Hallo zusammen,
in meinem MainViewModel habe ich einen ContentPresenter.

<Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="20"/>
            <RowDefinition/>
        </Grid.RowDefinitions>
        <Menu Grid.Row="0">
            <MenuItem Header="_Datei">
                <MenuItem Header="_Beenden" Command="{Binding AppCloseCommand}"/>
            </MenuItem>
            <MenuItem Header="_Auswertung">
                <MenuItem Header="T_agesauswertung" Command="{Binding ShowDailyViewModelCommand}"/>
                <MenuItem Header="M_onatsauswetung" Command="{Binding ShowMonthlyViewModelCommand}"/>
            </MenuItem>
            <MenuItem Header="_Einstellungen">
                <MenuItem Header="Schwellwerte" Command="{Binding ShowSchwellwertCommand}"/>
            </MenuItem>
        </Menu>
        <ContentControl Grid.Row="1"
          Content="{Binding Path=ViewModels}"
          ContentTemplate="{StaticResource WorkspacesTemplate}"/>
    </Grid>

Wird zB die Tagesauswertung angeklickt, wird per Code ein neuer DayViewModel in den Workspace mit eingefügt und angezeigt :

private ObservableCollection<BaseWorkspaceViewModel> _viewModels;

        public ObservableCollection<BaseWorkspaceViewModel> ViewModels { get { return _viewModels ?? (_viewModels = new ObservableCollection<BaseWorkspaceViewModel>()); } }

private void AddNewDailyViewModel()
        {
            DayWindowModel model = new DayWindowModel();
            ViewModels.Add(model);
            SetActiveWindowModel(model);
            model.CloseRequest += (s, e) => ViewModels.Remove((BaseWorkspaceViewModel)s);         
        }

 void SetActiveWindowModel(BaseWorkspaceViewModel workspace)
        {
            Debug.Assert(this.ViewModels.Contains(workspace));

            ICollectionView collectionView = CollectionViewSource.GetDefaultView(this.ViewModels);
            if (collectionView != null)
                collectionView.MoveCurrentTo(workspace);
        }
Und ein teil der Klasse des DayViewModels

 public class DayWindowModel:BaseWorkspaceViewModel
    {

        public DayWindowModel()
        {
            SelectedDate = DateTime.Now;
            var util = new Util.DataRowViewModelCreator();
            var data = util.GetViewModels(SelectedDate).ToList();
            DataRows = new ObservableCollection<DataRowViewModel>(data);

            DisplayName ="Tagesauswertung";

        }
}
Es passiert nun folgendes : Wenn ich eine Auswertung anklicke, wird diese korrekt angezeigt. Sobald ich eine zweite anzeige, haben beide Auswertungen die selben Werte. Es sieht so aus, also ob das zweite Fenster eine Referenz zum ersten wäre.
Nur erkenne ich nirgends, wo ich den Fehler gemacht habe eine Referenz zu zuweisen ...
Jmd eine Idee ?

Grüße

Thema: [erledigt] Image als .ico FileFormatException bei Windows XP
Am im Forum: GUI: WPF und XAML

Alles klar,
Danke !

Thema: [erledigt] Image als .ico FileFormatException bei Windows XP
Am im Forum: GUI: WPF und XAML

Hallo zusammen,
ich habe in XAML ein Imagecontrol , welches eine .ico Datei nutzt.

Wenn ich das Programm unter Windows 7 aufrufe wird alles schick angezeigt.
Unter Windows XP ohne Visual Styles kriege ich eine FileFormatException , Unbekanntes Bildformat ....
Öh muss ich jetzt echt in jpg oder bmp umwandeln oder gibt es da einen Trick ?

Grüße

Thema: MVVM : Öffnen einer Seite durch Model
Am im Forum: GUI: WPF und XAML

Hi IsNull,
nochmal vielen Dank für deine hilfe.

Eine letzte Frage bleibt mir aber :
Wie gehe ich am besten vor um neue Fenster zu öffnen ?
Ich habe eine Lösung gesehen mit einem WindowManager , welcher eine View Instanziert.
Das ist ja nicht MVVM Konform.

Wie kann ich also am klügsten ein Fenster öffnen ?

Grüße

Thema: StaticResource per Binding ansprechen
Am im Forum: GUI: WPF und XAML

Super Danke !

Thema: StaticResource per Binding ansprechen
Am im Forum: GUI: WPF und XAML

Hi,

danke für die Antwort.
Eine Frage dazu :

Ich will auf ein gewisses ViewModel reagieren und dann die property aller treeViewItems setzten.
Dazu muss ich doch nur abfragen ob der typ des Items meinem ViewModel entspricht und dann die passenden Trigger setzten oder ?

Grüße

Thema: StaticResource per Binding ansprechen
Am im Forum: GUI: WPF und XAML

Hallo,

ich will anhand eines String im ViewModel einen Style auswählen.


    <UserControl.Resources>
        <Style TargetType="{x:Type TreeViewItem}" x:Key="WithCheckbox">
            <Style.Triggers>
                <Trigger Property="HasItems" Value="True">
                    <Setter Property="Focusable" Value="False" />
                </Trigger>
            </Style.Triggers>
        </Style>
        <Style TargetType="{x:Type TreeViewItem}" x:Key="Normal">
            <Style.Triggers>
                <Trigger Property="HasItems" Value="True">
                    <Setter Property="Focusable" Value="False" />

                </Trigger>
                <Trigger Property="HasItems" Value="False">
                    <Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
                </Trigger>
            </Style.Triggers>
        </Style>
    </UserControl.Resources>
    <Grid>
        <TreeView ItemsSource="{Binding Items}" ItemContainerStyle="{StaticResource ResourceKey={Binding ResourceKeyString}}">




Leider klappt das nicht, er sagt mir, dass er das Bidning nicht findet.

Im VM ist dieses aber vorhanden :


public string ResourceKeyString { get { return "Normal"; } }




Oder macht man das anders ?

Grüße

Thema: MVVM : Öffnen einer Seite durch Model
Am im Forum: GUI: WPF und XAML

Hi,
ok super, dann kann ich ja nun MVVM konform arbeiten ;-)
Das mit dem TreeView ist ein guter Tipp, den schau ich mir mal an.
Bin echt nicht drauf gekommen, die ganzen Items als ViewModels zu nutzen.

Grüße

Thema: MVVM : Öffnen einer Seite durch Model
Am im Forum: GUI: WPF und XAML

So , mal gucken ob ich es zum Teil verstanden habe :
Mein MainWindowView :

<Window x:Class="MK.AgentWpf.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
        xmlns:local="clr-namespace:MK.AgentWpf.ViewModel"
        Title="Klassifizierung" Height="606" Width="283" 
        Icon="/MK.AgentWpf;component/Images/App064.ico" Topmost="True" 
        ResizeMode="NoResize" WindowStartupLocation="CenterScreen">
    <Window.DataContext>
        <local:MainWindowModel/>
    </Window.DataContext>
    <Window.Resources>
        <ResourceDictionary Source="/MainWindowResources.xaml"/>
    </Window.Resources>
    <Grid>
        <ContentControl Content="{Binding Path=TreeViewModel,Mode=TwoWay}"/>
    </Grid>
</Window>
Mein MainWindowViewModel :

        public MainWindowModel()
        {
            SetTypeOfModel();
        }

        private ITreeViewViewModel _treeViewModel;
        public ITreeViewViewModel TreeViewModel
        {
            get { return _treeViewModel;}
            set { _treeViewModel = value;OnPropertyChanged(() => TreeViewModel); }
        }

        private void SetTypeOfModel()
        {
           if(Util.AppConfig.Multiklass.Muliclass)
               TreeViewModel = new TreeViewViewModel(DatabaseLoader.GetItems());
        }
Eines meiner TReeViewControls :
<UserControl x:Class="MK.AgentWpf.View.BasicTreeWindow"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Height="606" Width="283"
             >
  <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="551*" />
            <RowDefinition Height="55*"/>
        </Grid.RowDefinitions>
            <TreeView ItemsSource="{Binding Items}">
            <TreeView.ItemContainerStyle>

                <Style TargetType="{x:Type TreeViewItem}">
                    <Setter Property="IsSelected" Value="{Binding Path=IsSelected}"/>
                    <Style.Triggers>
                        
                        <Trigger Property="HasItems" Value="true">
                            <Setter Property="Focusable" Value="False"/>
                        </Trigger>
                    </Style.Triggers>
                </Style>
            </TreeView.ItemContainerStyle>
            <TreeView.ItemTemplate>
                <HierarchicalDataTemplate ItemsSource="{Binding SubNodes}">
                    <TextBlock Text="{Binding Text}"/>
                </HierarchicalDataTemplate>
            </TreeView.ItemTemplate>
        </TreeView>
        <Button Command="{Binding SaveCommand}" Grid.Row="1" Width="35" Height="35">
            <Image Source="/Images/Sign001.ico" />
        </Button>
        
    </Grid>
</UserControl>

Und das passende ResourceDictionary :
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:vm="clr-namespace:MK.AgentWpf.ViewModel"
                    xmlns:vw="clr-namespace:MK.AgentWpf.View" >
    
    <DataTemplate DataType="{x:Type vm:TreeViewViewModel}">
        <vw:BasicTreeWindow/>
    </DataTemplate>
</ResourceDictionary>

Es wird nun vom MainViewModel geprüft , welcher Typ ITreeViewViewModel gebraucht wird und lädt diesen. Durch die Verknüpfung im ResourceDirectory weiß die View zu welchem TreeViewViewModel es gehört und wird geladen.
Fertig.

Nur ist mir das mit meinen ExtendedData propertys immer noch schleierhaft , aber die Nacht is ja noch jung ;-)

EDIT: Ich sollte doch nur mit WinForms arebiten, das ganze wird mir einfach zu hoch: Jetzt sagt er mir " BindingExpression path error: 'SubNodes' property not found"
Ich kriege echt die Krise....

Thema: MVVM : Öffnen einer Seite durch Model
Am im Forum: GUI: WPF und XAML

Hallo IsNull,
das ganze muss doch aber auch ohne MEF MAF oder einen IOC Container möglich sein oder ?

So wie ich das verstanden habe muss ich folgendes machen :
Ich habe eine MainView, mit meinetwegen mit einem ContentPresenter.
Dieser ContentPresenter ist an eine Property im MainViewModel gebunden.
Diese Property ist vom Typ ITreeView.

Jetzt muss ich ja quasi nur 3 verschiedene Templates für ein TreeView bauen und es je nach ViewModelTyp auswählen oder ?

Was ich aber immer noch nicht verstehe ich ich eien SubNode so binde, dass eine weitere View geöffnet wird.....

Grüße

Thema: MVVM : Öffnen einer Seite durch Model
Am im Forum: GUI: WPF und XAML

Hi Talla,
ok danke für die Info.
Ich habe die Infos mir aus dem MSDN Forum geben lassen sowie von Stackoverflow. Auf meine Nachfrage hin, wurde gesagt ja das ist in MVVM erlaubt also kein Problem.

Das heißt für mich nun, ich mache mir eine Area , wo ich je nach Typ meines Model ein anderes ViewModel lade ?
Oder wie würdest du das lösen ?
JETZT stehe ich nämlich vollkommen auf dem Schlauch....

Grüße