Schmutzig wirds so oder so; aber das ist ja offensichtlich schon das Grundproblem des nicht verschuldeten Schemas
😃 ja - erbärmlich
verwendetes Datenbanksystem: <ORACLE>
Hallo,
ich muss eine Sicht mit Oracle und EF5 abfragen und habe dabei folgendes Problem.
Es gibt eine Spalte die vom Typ VARCHAR ist und bis auf einen Spezialfall nur Nummern enthält.
Die Sicht ist nicht von mir und ich kann die Sicht leider auch nicht ändern.
Nun muss ich einen Filter hinzufügen, der die Nummern in der Spalte filtert (Nummern > x usw.). Ich habe leider keine Möglichkeit gefunden diesen Cast in SQL zu übersetzen. Es gibt ja diese SqlFunctions, aber leider nicht für Cast. Kennt hier jemand eine Lösung?
SQL selbst zu schreiben wäre die letzte Lösung.
p.s.: Ich bin mir bewusst, dass die Umsetzung der Sicht unsauber ist. Ich habe es aber leider nicht in der Hand.
Es geht darum, dass beim Deployment einer Webanwendung und auch während der Entwicklung, niemand Scripte ausführen muss.
Wir haben gerade beim Anfang des Projektes viele Datenbankänderungen. Die Dokumentation ist eher Zweitrangig.
Hallo Leute,
ich bin auf der Suche nach einem Framework mit folgenden Anforderungen:*Versionisierung von Datenbankänderungen in Changesets *Unterstützung von MSSQL, Oracle *native .Net-Unterstützung - Ausführen der Changesets z.B. beim Hochfahren der Anwendung
Im Java-Umfeld verwenden wir hier Liquibase. Die Changesets werden dabei als Xml beschrieben (Datenbankunabhängig). Der .Net Port von Liquibase ist leider nie wirklich auf einen vernünftigen Stand gekommen.
Kennt jemand eine alternatives Framework?
Besten Gruß
Hallo Peter,
ja - das betrifft sämtliche Seiten mit colgroup und (html) table {runat=server}. Mir würde es schon helfen, wenn ihr sagt, dass ihr das Problem mit der VS2012-Kombination nicht habt. Dann weiß ich, dass es an der Konfiguration des Projekts liegt. Wir haben hier aber schon mindestens zwei Projekte mit diesem Phänomen.
Besten Gruß
Es wird lediglich die Sichtbarkeit der Tabelle geändert. Zeilen kann man doch gar nicht hinzufügen, da es sich um die html(nicht asp) Tabelle handelt.
Hallo Leute,
nachdem ich ein ASP.NET (Webforms) Projekt von VS2010 auf VS2012 umgestellt hab, kommt es zu einem Kompilierfehler:
Error 5 Die beste Übereinstimmung für die überladene System.Web.UI.HtmlControls.HtmlTableRowCollection.Add(System.Web.UI.HtmlControls.HtmlTableRow)-Methode hat einige ungültige Argumente. ...Default.aspx 312
bzw.
Error 6 1-Argument: kann nicht von "System.Web.UI.HtmlControls.HtmlGenericControl" in "System.Web.UI.HtmlControls.HtmlTableRow" konvertiert werden. ...Default.aspx 312
Der HTML-Code sieht wie folgt aus:
<table runat="server" id="footerTable" style="width: 100%; margin: 0 12px 0 0;">
<colgroup>
<col />
<col style="width: 250px" />
</colgroup>
<tr>
<td>
...
</td>
</tr>
</table>
Ich muss leider die Tabelle mit "runat=server" vesehen, da auf diese Tabelle im Code-Behind zu gegriffen wird. Was die Fehlermeldung aussagt ist mir klar. Ich kann mir aber nicht erklären warum das "runat=server" für Ihn ein Problem darstellt. Nach meinem Wissen ist Colgroup auch bei HTML5 erlaubt. Hat jemand eine Lösung für das Problem?
Eine andere Möglichkeit besteht auch darin eine native Excel Lib zu verwenden (z.B. diese). Es muss dann kein Office vorhanden sein und die Lizenzgebühren fallen einmalig an.
Die Datenbanken siehst du, wenn du dich mit der Datenbankinstanz verbindest. Wenn die Datenbank bei dir lokal auf dem Rechner als Dienst läuft sieht das z.B. so aus:
1.localhost
1.localhost\sqlexpress
Das mit dem Anlegen der Datenbank aus dem VisualStudio hört sich sehr eigenartig an. Ich denke das geht gar nicht (nur embedded Datenbanken; sdf). Bist du dir da sicher? Wenn du im SQL\Data Ordner nur die master.mdf siehst gibt es die Datenbank wohl auch nicht mehr.
Kannst du dich denn mit dem Benutzer "sa" oder dem lokalen Administrator anmelden?
Ich würde das Ganze mal über das Mangement Studio durchführen.
Im Objekt-Explorer die DB auswählen -> rechte Maustaste-> Tasks -> Online schalten
Hört sich für mich so an, als wenn dein Nutzer nur Rechte in der jetzt offline geschalteten DB hat.
Ähnliche Meldung gibt das SQL Server Management Studio, wenn ich die Datenbankdatei (MDF) attachen will.
Warum willst du die DB attachen? Wenn du die DB offline schaltest ist sie noch zugeordnet. Du solltest die DB weiterhin im Mangement Studio sehen (als offline gekennzeichnet).
Aber warum dann keine Webanwendung im Intranet? Ihr habt doch bestimmt VPN-Zugang?
Du kannst dir vielleicht mal SOAP-UI anschauen. Das hilft ggf. bei diesem Fummelaufgaben. Ansonsten ist es erstmal unverständlich einen SOAP-WS ohne WSDL anzubieten...
Muss es denn ein Rich-Client sein? Überlegt einmal, ob vielleicht auch eine Webanwendung in Betracht kommt. In Zeiten von Smartphones etc. hättest du auch unterwegs z
Zugriff und die Datenabfragen gehen nur zwischen Webserver und Datenbank hin und her.
Das Thema Replikation gerade mit der SQL-Server Replikation ist alles andere als trivial. Hier gilt es einiges zu beachten und vor allem sollte die Datenbankstruktur sehr simpel gehalten werden. Ich würde versuchen mir diese Probleme vom Leib zu halten. Die Replikation wird übrigens auch über UNC-Freigaben durchgeführt...sehr hässlich (ist gibt allerdings auch die bereits angesprochene Möglichkeit über HTTP).
Da will ich nicht widersprechen.
Welche Rückgabewerte hast du denn in deiner Businesslogik? Ich vermute die Ergebnisse sind dann fix und es wird sich nur noch um Anzeige etc. gekümmert. Wenn wir schon bei dem Thema sind würde ich gerne mal wissen, wie du deine Businesslogik organisierst. Ist das ein ViewModel oder hast du eine separate Klassen - "Schicht"?
@istata, doch dies geht ab .NET 4.0
return a => SqlFunctions.StingConvert((double)a.Nummer) + a.Bezeichnung) == suchwort
Wow nicht schlecht, das wußte ich noch nicht 😃
@Abt
Ich denke nicht, dass du mir erklären musst wie sich ToList() etc. auf das generierte SQL auswirkt.
Aber ich versuche meine Bedenken gegenüber dem gepostete Repository noch etwas anders zu erläutern. Was ich auf keinen Fall möchte ist, dass Business-Logik im Sinn von DRY mehrfach im Code steht. Ich habe demnzufolge meine Repositories die mir natürlich auch nur die Datensätze bringen sollen, die benötigt werden. Darüber brauchen wir gar nicht diskutieren.
Was ist deiner Meinung nach die Aufgabe eines Repositories? Ich denke es sollte für den Zugriff auf die Daten konzipiert sein. Mit IQueryable verlagerst du diese Logik in eine tiefere Schicht. Damit kann ich mich irgendwie wirklich schwer anfreunden. Zumal die Methode "GetXy" heißt - aber gar nichts "Gettet".
Das Argument mit dem zurückgeben sämtlicher Spalten finde ich wirklich stark. Lasst mich mal eine Nacht darüber schlafen 😃
Ich könnte mich auch damit abfinden IQueryable zu nutzen, aber im Frontend sollte nach meiner derzeitigen Meinung davon nichts mehr zu sehen sein.
Nehmen wir an wir haben folgendes Objekt:
class Auftrag{
public int Nummer {get;set;}
public string Bezeichnung{get;set;}
}
Jetzt möchtest du für eine Automcomplete-Box eine Suche in der Datenbank starten. Der Nutzer kann also Nummer und Bezeichnung eingeben. Bei der Suche benötigst du dann den Ausdruck: angebot=>angebot.Nummer+angebot.Bezeichnung == suchwort.
String-Operation ist dann natürlich falsch ausgedrück. Ich hoffe aber du verstehst, was ich meine. Generell versuche ich auf jeden Fall den Wildwuchs mit Rückgabewerten gering zu behalten. Ich würde da lieber noch eine separate Methode hinzufügen. Ich denke schon, dass der Großteil der Repository-Anfragen im Bereich GetXy, GetAllXy liegt. Wenn hier sinnvoll sortierte Listen zurückkommen sollte das für die meisten Fälle passen. So sieht das zumindest bei mir im Umfeld aus.
edit: Meinst du nicht, dass IQueryable dazu verleitet irgendwo im Frontend noch Business-Logik zu implementieren?
Was ich z.B. meine ist, dass du bestimmte String-Operationen nicht ausführen kannst, da IQueryable kein SQL-Pendent kennt. Das führt dann direkt zum Laufzeitfehler.
Wenn ich Performance benötige, erstelle ich lieber eine zweite Methode.
Noch eine Frage zu deinem Repository: Warum gibst du IQueryable zurück und keine Liste? Die Abfrage wird so noch nicht ausgeführt. Einige Operationen sind mit IQueryable auch nicht möglich.
Ich habe mir mal jQuery.dataTables.js. angeschaut. Ich muss dir da wirklich Recht geben. Klappt wunderbar! Danke für den Tipp. Das einzige was auf den ersten Blick bisschen hässlich ist, ist die ungarische Notation bei den Properties.
Also das Feature was ich nutze ist ja nun gerade in MVC3 hereingekommen.
Ich habe schon alle Wege probiert (JQGrid, PlainHTML und jetzt WebGrid). In meinen Szenario ist es leider oft so, dass manchmal zwei Grids oder mehr auf der Seite existieren. Der Kunde möchte dann leider auch das volle Programm (Pageing, Sorting, Rowselect).
Was ich an sich schön finde an einem Grid ist, dass der Code direkt an einer Stelle steht. Wenn ich Plain-Html schreibe muss man schon ziemlich Scrollen.
Mit dem serverseitigen Filtern gebe ich dir recht. Das Feature brauche ich sehr selten.
Ich werde mir mal eine Plain-HTML-Lösung mit den genannten Features anschauen. Ich lass mich ja gerne bekehren 😃
Hi,
also in Plain-HTML würde ich eine colgroup definieren oder dem "<th>"-Tag über eine Klasse oder fast lieber direkt über das style-attribut eine Breite geben.
Warum ich kein Plain-Html-verwende:
Eigentlich ist Paging und Sorting mein K.O.-Kriterium. Ich finde ein Framework sollte hierfür eine fertige Lösung haben. Ich würde mir sonst den Controller-Code ziemlich versauen. Vielleicht seh ich das auch völlig falsch. Deine Meinung würde mich dazu interessieren.
Hallo Leute,
in ASP.NET MVC 3 gibt es ja das WebGrid. Ich bin eigentlich auch recht zufrieden bis auf einige Anwendungsfälle:
Ich würde nun gern elegant meiner Spalte eine fest breite geben.
@{var grid = new WebGrid(
@Model,
canPage: true,
rowsPerPage: 50,
canSort: true);
}
@grid.GetHtml(
alternatingRowStyle: "alternateRow",
footerStyle: "webgrid-footer",
columns: grid.Columns( grid.Column("LangeBezeichung", "LangeBezeichung",...));
über das Attribut "style" kann ich der Row eine CSS-Klasse zuweisen, aber nicht der Spalte direkt. Hat jemand hierfür einen Workaround?
Besten Gruß
Hallo,
ich möchte gerne Daten aus einer Tabelle vom MS SQL-Server mocken. Ich dachte eigentlich ich brauche dafür nur die Bytes kopieren und im Mock einlesen. Kann mir jemand sagen, was ich hier falsch mache?
var geogr = BinaryHelper.GetStringToBytes(@"0xA210000001040B0000008872A2...03")
public class BinaryHelper
{
public static byte[] GetStringToBytes(string value)
{
var shb = SoapHexBinary.Parse(value);
return shb.Value;
}
}
Also bei mir klappt das so:
XYTableAdapter ta = new XYTableAdapter();
ta.Connection.ConnectionString = "Data Source=localhost;Initial Catalog=DB;Integrated Security=True";
Wenn du EntityFramework verwendest kannst du auch den Standardkonstruktor abschalten und direkt mit einem Connectionstring den Context initialisieren.
Ich glaube du hast das Problem noch nicht ganz verstanden. Ich versuch es mal anders. Wenn ich ein DataGrid mit 100 Spalten erzeuge, habe ich keine Möglichkeit Horizontal zu schauen welche Spalten vorhanden sind - außer es werden Items eingefügt.
Hallo,
ich habe ein DataGrid, bei dem man über Eingaben des Suchbegriffs in den Spaltenheader eine Filterung durchführen kann. Ich habe leider das Verhalten, dass bei einem leeren Grid kein horizontales Scrolling mehr möglich ist. HorizontalScrollBarVisibility auf "true" zu setzen hat leider keine Auswirkung. Um das Problem noch zu verdeutlichen hänge ich einmal den Beispielcode an:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="200" Width="250">
<Grid>
<DataGrid Name="grid">
<DataGrid.Columns>
<DataGridTextColumn Header="Column1" />
<DataGridTextColumn Header="Column2" />
<DataGridTextColumn Header="Column3" />
<DataGridTextColumn Header="Column4" />
<DataGridTextColumn Header="Column5" />
<DataGridTextColumn Header="Column6" />
<DataGridTextColumn Header="Column7" />
<DataGridTextColumn Header="Column8" />
<DataGridTextColumn Header="Column9" />
<DataGridTextColumn Header="Column10" />
</DataGrid.Columns>
</DataGrid>
</Grid>
</Window>
Man sieht hier, dass nur Column 1-4 sichtbar sind. Dadurch das ich aber ggf. in Spalte 9 meinen Suchbegriff eingegeben habe, gibt es keinen Weg zurück 😃
Hat jemand eine Elegante Lösung für dieses Problem?
Besten Gruß
Das hat mir letzte Woche ein Kollege geschickt:
Vielen Dank,
ist genau korrekt "RechtView" ist direkt das User-Control. Ich werd mir die Templatelösung mal anschauen.
Hallo,
ich habe ein ziemliches Problem in meiner WPF - MVVM-Anwendung. Beim zweiten Öffnen eines Fensters bekomme ich folgende Exception:> Fehlermeldung:
Invalid Operation Exception: Specified element is already the logical child of another element. Disconnect it first.
hier noch der StackTrace:> Fehlermeldung:
at System.Windows.FrameworkElement.ChangeLogicalParent(DependencyObject newParent)
at System.Windows.FrameworkElement.AddLogicalChild(Object child)
at System.Windows.Controls.ContentControl.OnContentChanged(Object oldContent, Object newContent)
at System.Windows.Controls.ContentControl.OnContentChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
at System.Windows.Data.BindingExpressionBase.Invalidate(Boolean isASubPropertyChange)
at System.Windows.Data.BindingExpression.TransferValue(Object newValue, Boolean isASubPropertyChange)
at System.Windows.Data.BindingExpression.Activate(Object item)
at System.Windows.Data.BindingExpression.AttachToContext(AttachAttempt attempt)
at System.Windows.Data.BindingExpression.MS.Internal.Data.IDataBindEngineClient.AttachToContext(Boolean lastChance)
at MS.Internal.Data.DataBindEngine.Task.Run(Boolean lastChance)
at MS.Internal.Data.DataBindEngine.Run(Object arg)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.WrappedInvoke(Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Threading.ExecutionContext.runTryCode(Object userData)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.WrappedInvoke(Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Window.ShowHelper(Object booleanBox)
at System.Windows.Window.ShowDialog()
at VBApp.Presentation.Views.RechtListWindow.ShowDialog(Object owner) in C:\Users\Itstata\Documents\Visual Studio 2010\Projects\VBApp\VBApp.Presentation\Views\RechtListWindow.xaml.cs:line 33
Wie zu sehen ist, wird die Exception genau beim "ShowDialog" ausgelöst. Mir ist aber völlig unklar, wo ich ein Element ein zweites mal irgendwo reinhänge. Der StackTrace bleibt auch verdächtig beim "Content"-Property hängen.
Das Fenster, welches über "ShowDialog" geöffnet wird sieht folgendermaßen aus:
<Window x:Class="VBApp.Presentation.Views.RechtListWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
MinWidth="500" MinHeight="250" Width="1000" SizeToContent="Height" ShowInTaskbar="False" Icon="{StaticResource EditWindowImageSource}" WindowStartupLocation="CenterOwner">
<Window.Title>Rechte konfigurieren</Window.Title>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="400" MinWidth="{Binding Content.MinWidth, ElementName=RechtViewPresenter}"/>
</Grid.ColumnDefinitions>
<ContentControl Content="{Binding RechtListView}" Grid.Row="0" Grid.Column="0" Margin="0,0,7,0"/>
<ScrollViewer VerticalScrollBarVisibility="Auto" Grid.Row="0" Grid.Column="1">
<StackPanel>
<GroupBox>
<ContentControl x:Name="RechtViewPresenter" Content="{Binding RechtView}"/>
</GroupBox>
</StackPanel>
</ScrollViewer>
<GridSplitter HorizontalAlignment="Right" VerticalAlignment="Stretch" Width="4" Grid.Row="0" Grid.Column="0"/>
</Grid>
</Window>
Auf der linken Seite ist eine Liste die beim Auswählen rechts in einer zweiten Sicht Details zu dem Element anzeigt. Wenn ich jetzt den Content der Liste auskommentiere kommt die Exception nicht:
<!--<ContentControl Content="{Binding RechtListView}" Grid.Row="0" Grid.Column="0" Margin="0,0,7,0"/>-->
Ich vermute daher das Problem in dieser Sicht, denn im Codebehind ist nur der Context des Datenmodells eingebunden - keine weitere Logik.
Diese besagte Liste ist leider sehr trivial. Ich denke nicht, dass dort ein Fehler sein kann:
<UserControl x:Class="VBApp.Presentation.Views.RechtListView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:scm="clr-namespace:System.ComponentModel;assembly=WindowsBase"
xmlns:dat="clr-namespace:System.Windows.Data;assembly=PresentationFramework"
xmlns:vb ="clr-namespace:VBApp.UserControls"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400">
<Grid>
<ListView ItemsSource="{Binding Personen}" SelectedItem="{Binding SelectedPerson}">
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding="{Binding Vorname}" Header="Vorname" Width="150"/>
<GridViewColumn DisplayMemberBinding="{Binding Nachname}" Header="Nachname" Width="150"/>
</GridView>
</ListView.View>
</ListView>
</Grid>
</UserControl>
Das ViewModel dahinter ist auch nicht gerade hohe Programmierkunst:
public class RechtListViewModel : SecuredViewModel<IRechtListView>
{
private readonly IEntityService entityService;
private Person selectedPerson;
[ImportingConstructor]
public RechtListViewModel(IRechtListView view, IEntityService entityService, ISecurityService securityService)
: base(view, securityService)
{
this.entityService = entityService;
}
public List<Person> Personen { get { return this.entityService.Personen.Where(p => p.Mitarbeiter).ToList(); } }
public Person SelectedPerson
{
get { return this.selectedPerson; }
set
{
if (this.selectedPerson!= value)
{
this.selectedPerson= value;
RaisePropertyChanged("SelectedPerson");
}
}
}
}
Hat vielleicht jemand noch eine Idee, woran es liegen könnte?
Oje, dann doch lieber old school sql. Ich selbst könnte damit leben, aber ich bezweifel, dass ein zweiter Entwickler diese Magic versteht. Zumal im Designer davon nichts zu sehen ist.
verwendetes Datenbanksystem: SQL 2008, EF4
Hallo,
ich will bei einem bestehenden System eine bestimmte Tabellenwertfunktion aus dem SQL-Server aufrufen. Da ich bereits für alle anderen Datenzugriffe das Entityframework verwende, würde ich das natürlich auch gerne dafür verwenden. Das dies mit Prozeduren geht ist ja bekannt, aber wie verhält es sich mit Funktionen? Google hat mir bisher nur irre Hacks mit manuellem Editieren in der SSDL gebracht.
Der Datencontext hat ja eine Funktion "ExcecuteFunction". Allerdings bekomme ich hier eine Ausnahme:> Fehlermeldung:
FunctionImport 'x' konnte nicht in Container 'y' gefunden werden.
Laut Hilfe muss hier nämlich die Funktion noch im Entity-Model definiert werden.
Führt eine gespeicherte Prozedur oder eine Funktion, die in der Datenquelle definiert ist und im konzeptionellen Modell zugeordnet wird, mit den angegebenen Parametern aus. Gibt ein typisiertes ObjectResult<T> zurück.
Wenn das so wirklich stimmt muss ich wohl oder übel normale SQL-Commands verwenden.
Hat leider keinen Erfolg gebracht, trotzdem danke.
Hallo,
ich habe ein sehr eigenartiges Problem. Beim Erstellen einer .Net 4.0 Webanwendung habe ich in der .aspx-Seite keine Autoverstollständigung für die '<asp:*'-Tags. Interessanterweise funktioniert alles, wenn ich auf .Net 3.5 zurück stelle. Das Projekt kompiliert jedoch wenn ich die ASP-Controls manuell hinzufügen.
Ich bekomme folgende Warnung:> Fehlermeldung:
Warnung 4 Das DropDownList-Element ist kein bekanntes Element. Ursache hierfür kann ein Kompilierungsfehler in der Website oder das Fehlen der Datei "web.config" sein. C:....Default.aspx 30 11 GeoViTo.Web
Der Witz an der Sache ist, dass ich ein völlig neues Projekt erstellt habe. Einen Fehler in der Web.config würde ich von daher ausschließen.
Ich hab auch schon das Visual Studio (2010) im /safemode gestartet, damit alle Plugins aus sind - leider kein erfolg.
Hatte schon mal dieses Problem?
Dein Code ist korrekt, zumindest läuft er bei mir.
Kompiliert alles korrekt durch?
Guck dir das Buch mal an. Ich habe bisher von sehr vielen auch positive Kritiken dazu gehört Clean Code bzw. auf deutsch
Besten Dank für die Links - inbesondere die Iteration hört sich auch noch interessant an.
Gibt es eigentlich einen Grund warum Ntlm-Passwörter so "sicher" sind 😃?
Ich musste vor Kurzem an einem fremden Projekt mitarbeiten und der Kollege war leider im Urlaub. Da ich kein Passwort für die Anwendung hatte, wollte ich mir über die Datenbank einen Account anlegen (hätte natürlich auch über den Debugger den Login überspringen können 😃.
Aus reiner Neugier hab ich mir dann mal einen Hash von einem vorhandenen Passwort genommen und in einer bekannten Suchmaschine eingetragen und sie da... das Passwort wurde aufgelöst.
Für mich ist nach diesem Ding eindeutig klar, dass ich fortan alle Passwörter salzen werde. Ich fand das wirklich überraschend, da so gut wie alle Kennwörter bestimmen konnte. Bei Längen über 7 Zeichen wurde es schon schwieriger. Propiert es mal selbst aus, es gibt scheinbar wirklich viel Leute die Langeweile haben und die Hashes durchrechnen (siehe Beispiel)
Habt ihr besondere Mechanismen dafür?
Leider keine Antwort auf deine Frage, aber ich habe selbst ein Frage an dich. Brauchst du nicht ObservableCollections statt Listen? Der Clou bei MVVM ist doch auch das Handling der Propertychanges.
In diesem Zusammenhang hab ich selbst schon einige graue Haare von eigentlich trivalen Aufgaben bekommen (z.B. Sortierung und Filterung von Liste).
Bei den MSDN Webcasts gibts ein Video, aber ich fand es nicht wirklich hilfreich.
Ansonsten kann ich WAF empfehlen, insbesondere die Beispielprojekte.
Super genial! Jetzt funktioniert es. PlacementTarget war mir bisher gar nicht bekannt...
Anbei noch der funktionierende Code:
<ListView ItemsSource="{Binding Personen}" SelectedItem="{Binding SelectedPerson}">
<ListView.Resources>
<ControlTemplate x:Key="AdresseTemplate" TargetType='{x:Type ListViewItem}'>
<StackPanel>
<GridViewRowPresenter Columns="{TemplateBinding GridView.ColumnCollection}">
<GridViewRowPresenter.ToolTip>
<ToolTip DataContext="{Binding Path=PlacementTarget.DataContext, RelativeSource={RelativeSource Self}}" >
<vb:AdresseInfo DataContext="{Binding Adresse}" Width="300"/>
</ToolTip>
</GridViewRowPresenter.ToolTip>
</GridViewRowPresenter>
<vb:AdresseInfo DataContext="{Binding Adresse}" Width="300"/>
</StackPanel>
</ControlTemplate>
</ListView.Resources>
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<Setter Property="Template" Value="{StaticResource AdresseTemplate}"/>
</Style>
</ListView.ItemContainerStyle>
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding="{Binding Anrede.Name}" Header="Anrede" />
<GridViewColumn DisplayMemberBinding="{Binding Vorname}" Header="Vorname" Width="100" />
<GridViewColumn DisplayMemberBinding="{Binding Nachname}" Header="Nachname" Width="100" />
</GridView>
</ListView.View>
</ListView>
Hi,
ohne dir leider direkt helfen zu können... Bist du dir sicher, dass die ComboBox ohne das äußere ScrollControl funktioniert?
Hallo Leute,
ich möchte erreichen, dass in meiner Liste von Personen ein Tooltip/Popup erscheint, wenn der Nutzer über einen Eintrag fährt. Hier sollen dann Adressinformationen angezeigt werden. Ich weiß, dass ein Tooltip auch einfach über einen Trigger erzeugt werden kann, aber ich würde gerne das Layout komplexer stylen.
Ich habe testweise zweimal das UserControl "AdresseInfo" eingebunden - einmal als Tooltip und einmal direkt in der Row.
In meinem Beispielcode funktioniert das Binding zum UserControl "AdresseInfo" wunderbar, lediglich das Binding zum UserControl innerhalb des ToolTip-Tags geht leider nicht. Ich vermute ich habe das System hinter dem GridViewRowPresenter noch nicht korrekt verstanden. Ich vermute bald hier zu kompliziert vorzugehen. Ist es überhaupt sinnvoll über den Presenter zu binden?
<ListView ItemsSource="{Binding Personen}" SelectedItem="{Binding SelectedPerson}">
<ListView.Resources>
<ControlTemplate x:Key="AdresseTemplate" TargetType='{x:Type ListViewItem}'>
<StackPanel>
<GridViewRowPresenter Columns="{TemplateBinding GridView.ColumnCollection}">
<GridViewRowPresenter.ToolTip>
<vb:AdresseInfo DataContext="{Binding Adresse}" Width="300"/>
</GridViewRowPresenter.ToolTip>
</GridViewRowPresenter>
<vb:AdresseInfo DataContext="{Binding Adresse}" Width="300"/>
</StackPanel>
</ControlTemplate>
</ListView.Resources>
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<Setter Property="Template" Value="{StaticResource AdresseTemplate}"/>
</Style>
</ListView.ItemContainerStyle>
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding="{Binding Anrede.Name}" Header="Anrede" />
<GridViewColumn DisplayMemberBinding="{Binding Vorname}" Header="Vorname" Width="100" />
<GridViewColumn DisplayMemberBinding="{Binding Nachname}" Header="Nachname" Width="100" />
</GridView>
</ListView.View>
</ListView>
anbei noch die dahinter liegende Klasse:
public class Person
{
int PersonId { get; set; }
Anrede Anrede { get; set; }
Adresse Adresse { get; set; }
string Vorname { get; set; }
string Nachname { get; set; }
}
Sorry, aber meine Ansicht nach hast du hier das Rad neu erfunden (siehe Post von malignate).
Hallo,
warum sollte die Page zerstört werden? Sie wird ja sicherlich noch als Tabpage im Control referenziert werden? Ich verstehe dein Problem mit dem Event allerdings noch nicht ganz. Warum wird ein Event auf der Page ausgelöst, die gar nicht angezeigt wird?
Du kannst OSM-Daten über WMS (Web Map Services) konsumieren.
Jetzt weiß ich nur nicht, welches Framework für die Darstellung der Daten in Frage kommt-gibts aber sicherlich.
Ich werd das Phänomen beobachten 😃
Kannst nicht ein DTO/ViewModel daraus machen?
Bei MVVM sollte nach meiner Auffassung das ViewModel bereits für die Sicht aufbereitet sein. Mir ist kein Weg bekannt mehrere Sourcen zu binden - wozu auch?