Ich versuche, einen effektiven Weg zu finden, berechnete Felder eines Entity Framework-Modell in WinForms Databind. Ich verwende Visual Studio 2008 und .NET Framework 3.5. Ein Beispiel wäre für EntityX, sagen wir, dass ich columnA und columnB habe, und ich möchte eine berechnete Eigenschaft namens sumAB. Die Art und Weise habe ich das getan, hat mit Teilklassen gewesen:Datenbindung von Computed Eigenschaften in Entity Framework
public partial class EntityX
{
public int sumAB
{
get
{
return this.columnA + this.columnB;
}
}
}
ich dann Visual Studio bin mit EntityX als Datenquelle hinzufügen, so kann ich den automatischen Drag & Drop-Datenbindung. Das Problem, das ich habe, ist, dass die berechneten Eigenschaften nicht in den Datenquellenfeldern angezeigt werden. Ich suche nach einer Möglichkeit, die automatische Datenbindung von berechneten Feldern zu haben.
Ich weiß, dass ich dies manuell tun könnte, aber dann würde ich auch müssen manuell alle Bindungs Code schreiben, um das Feld zu aktualisieren, wenn columnA oder columnB geändert werden. Ich habe auch keinen Zugang, um dieses Feld auf der SQL-Server-Seite zu berechnen.
Kennt jemand irgendwelche Möglichkeiten, um persue diese oder andere ähnliche Richtungen zu erreichen?
Danke!
UPDATE
Getestet habe ich diese auf einer anderen Maschine, bin Visual Studio 2010 und .NET 4, und ich immer noch mit dem gleichen Verhalten zu empfangen. Interessanterweise kann ich manuell eine Textbox erstellen und eine Datenbindung hinzufügen und es wird gut funktionieren, wie unten:
sumABTextBox.DataBindings.Add(
new System.Windows.Forms.Binding("Text", EntityXBindingSource, "sumAB", true));
Es funktionierte auch wenn ich die Eigenschaft in der .edmx Datei platziert, aber dies ist nicht wünschenswert, da Es wird jedes Mal gelöscht, wenn die Datenbank aktualisiert wird.
Irgendwelche anderen Ideen?
UPDATE 2
Immer noch keine Lösung ... hatte ich Alternativen in meinem Code zu verwenden, um Termine einzuhalten. Ich bin immer noch sehr daran interessiert, diese, wenn jemand findet eine Antwort ...
Ich kann keinen Grund sehen, warum das, was Sie tun, nicht funktionieren würde. Es ist nur eine Eigenschaft, also wie der Code, der die Datenquelle erzeugt, sie als anders wahrnimmt, ist jenseits meiner. Können Sie in Ihrer Lösung in die XML-Datenquelle bohren und sehen, ob dort die Eigenschaftenbindungen vorhanden sind? –
Ich schaute es mir an. Ich bin nicht mit der Struktur dieser Dateien vertraut, aber ich habe bemerkt, dass es die automatisch generierte Datei aufgelistet hat, aber es ist nicht meine Datei als eine der CSVs in dem Typeinfo-Tag aufgeführt. Ich habe versucht, das Hinzufügen meiner Datei, Speichern, neu zu kompilieren, aber kein Glück ... – bunglestink