Hallo,
Bin gerade selbst auf die Lösung gekommen. Hab den Wald vor lauter Bäumen nicht gesehen und vergessen den ForeignKey zu deklarieren.
Die Korrekte Lösung ist natürlich folgende:
public virtual ICollection<Employee> ProjectMembers { get; set; }
public virtual ICollection<Content> Content { get; set; }
public virtual ICollection<Task> Tasks { get; set; }
[DisplayName("Projektleiter")]
public virtual Employee Projectleader { get; set; }
[DisplayName("Kunde")]
public Customer Customer { get; set; }
[ForeignKey("Projectleader")]
public Guid? ProjectleaderID { get; set; }
public Guid? CustomerID { get; set; }
Thread kann also gelöscht werden.
verwendetes Datenbanksystem: MSSQL Server mit Entity Framework
Hallo Leute,
Ich versuche mit Entity Framework ein Objekt, dass unterschiedliche Referenzen auf andere Objekte hält zu speichern. Alle Objekte sind als eigene Tabellen in der Datenbank durch Code-First angelegt worden.
Mein Code zum speichern ist folgender:
project.Projectleader = db.Employees.Where(e => e.EmployeeID == new Guid(Projectleader)).FirstOrDefault();
project.Customer = db.Customers.Where(c => c.CustomerID == project.CustomerID).FirstOrDefault();
db.Entry(project).State = EntityState.Modified;
db.SaveChanges();
Die Definition meiner Project Klasse sieht so aus:
public class Project
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid ProjectID { get; set; }
.......
public virtual ICollection<Employee> ProjectMembers { get; set; }
public virtual ICollection<Content> Content { get; set; }
public virtual ICollection<Task> Tasks { get; set; }
[DisplayName("Projektleiter")]
public Employee Projectleader { get; set; }
[DisplayName("Kunde")]
public Customer Customer { get; set; }
public Guid? CustomerID { get; set; }
}
Der Customer wird ohne Probleme gespeichert, den Projctleader updated er allerdings nie.
Habt Ihr einen Tipp für mich, an was das liegen kann? Der Projectleader wird in der DB Suche auf jeden Fall gefunden und bevor db.SaveChanges() aufgerufen wird, ist das Projectleader Property auch gesetzt. Es wird nur nicht mit in die DB geschrieben
Hallo,
Wisst ihr ob es ein Attribut gibt, bei welchem ich setzen kann, welches Element von einer über ein Navigation Property verbunden Klasse in einer ASP.NET MVC Razor View angezeigt werden soll?
Ich habe folgende Klassen:
public class Employee
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid EmployeeID { get; set; }
public string Firstname { get; set; }
public string Lastname { get; set; }
public string Street { get; set; }
public string Zip { get; set; }
public string City { get; set; }
public string EmployeeCode { get; set; }
public double Salary { get; set; }
public string EMail { get; set; }
public string Phone1 { get; set; }
public string Phone2 { get; set; }
//Foreign Keys
public Guid? RoleID { get; set; }
public Guid? TeamID { get; set; }
// Navigation Properties
public virtual Role Role { get; set; }
public virtual Team Team { get; set; }
}
public class Team
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid TeamID { get; set; }
public string Teamname { get; set; }
public string Location { get; set; }
public virtual Employee TeamLeader { get; set; }
public virtual ICollection<Employee> TeamMembers { get; set; }
}
public class Role
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid RoleID { get; set; }
public string Rolename { get; set; }
}
In der automatisch generierten View, wird für die Role eine Dropdownbox angezeigt wo ich aus allen in der Datenbank hinterlegten Rollen auswählen kann. Der Value der Dropdown ist das Rolename Propertie.
Bei Team bekomme ich jedoch nur eine Textbox mit der TeamID.
Was übersehe ich hier?
Ich hoffe ihr könnt mir weiterhelfen.
Hallo,
Danke für die Antworten!
Ich habe mir einmal SVG angesehen. Das sieht sehr vielversprechend aus!
Hallo,
Ich arbeite derzeit an einer Lösung, eine Anlage über eine Webanwendung zu visualisieren.
Bei den Anlagen handelt es sich um zum Beispiel um LNG Gasanlagen. Die Bauteile die auf der Anlage stehen (Lagertanks, Pumpen, Verdampfer, usw.) sind in der Datenbank eingetragen. Zu jeder Komponente werden auch Bilder für die Visualisierung gespeichert.
Die einzelnen Bauteile sollen auf verschiedene "Screens" aufgeteilt werden, und auf diesem frei positioniert werden. Dafür habe ich in der Datenbank bei den Objekten die entsprechenden Felder eingefügt, dass ein Objekt weiß, auf welchem Screen es platziert wurde und auf welchen Koordinaten die linke obere Ecke des Bildes platziert ist.
Meine Frage ist jetzt, ob ihr ein Framework kennt, mit welchem man ein Koordinatensystem wie zum Beispiel bei einem HTML5 Canvas aufbauen kann, und die Objekte aus der Datenbank mit zum Beispiel dem Bild + Titel vernünftig anzeigen kann und auch am Server dann die Koordinaten ordentlich in die DB speichern kann?
Ich denke, dass dies Broswerseitig mit einem Javascript Framework wie zum Beispiel Konva gelöst werden sollte. Oder seid ihr da anderer Meinung?
Ich wäre für Inputs sehr dankbar!
Hallo,
Stelle den Eval Mode auf PassTrough, dann sollte er das HTML nicht wegschneiden.
Probier das mal
<%# Eval("Content") Mode="PassTrough" %>
Hallo,
Das EF ist ein O/R-Mapper, der auf das Persistieren von Daten ausgelegt ist. Also ist es korrekt, dass dein DataContext ein kürzere Lebensspanne haben sollte, da er sich nicht darum kümmern sollte deine Domain Klassen Objekte zu informieren wenn sich Daten in der DB ändern.
Dein Problem bezieht sich in diesem Fall denke ich eher auf die Architektur deiner Software. Wenn du Daten irgendwo anzeigst solltest du diese auch jedesmal neu laden wenn mehrere gleichzeitige Verbindungen auf die Datenbank sein können.
Bei uns gibt es 3 Kaffeemaschinen aufgeteilt auf 2 Stöcke. Im oberen Stock wo Entwickler/Consultants sitzen, stehen 2 davon.
Das sind Nespresso Businesskapselmaschinen und die laufen den ganzen recht brav 😉.
Ich persönliche trinke so etwa 4 Tassen Kaffee am Tag. Der erste morgens ist mit einem Tropfen Milch, die folgenden bleiben schwarz. Zucker im Kaffee mag ich nicht wirklich.
Teebeutel gibt es auch in 6 verschiedenen Sorten zur freien Entnahme. Die verwende ich aber eher in der kalten Jahreszeit oder wenn ich gesundheitlich etwas angeschlagen bin.
Hallo,
Der Ansatz klingt sehr gut! Großes Danke, ich werde dass wohl so umsetzen!
Ob das mit ITextSharp geht werde ich mir ansehen =)
Hallo,
Ich meine das Einfügen im XSL-FO. Da beispielsweise die Seitennummern korrekt mitgezählt werden müssen, kann ich leidernicht beide Dokumente als PDF generieren und dann zu einem PDF mergen. Zumindest ist mir keine Möglichkeit bekannt.
Hallo,
Im Moment schreibe ich an einer Applikation, in welcher am Ende mehrere Dokumente für den Kunden ausgedruckt werden sollen.
Darunter sind unter anderen folgende Dokumente:
-) Haushaltsrechnung
-) Datenschutzerklärung
-) div. Anträge
diese einzelnen Dokumente werden in größeren "Hauptanträgen" eingefügt. So wird zum Beispiel ein Dokument "Konzept" erzeugt, in welchem z.B. die Haushaltsrechnung eingefügt werden.
Im Moment wurde das Markup für die Haushaltsrechnung per Hand in das Konzept kopiert. Und beider jeder Änderung müssen beide Dokumente bearbeitet werden.
Kennt jemand von euch einen guten Weg dies zu "modularisieren" und ein include in den Dokumenten oder ähnliches zu machen?
Hallo,
Du solltest dich wenn du das so lösen willst, wohl erstmal ein bisschen in die Möglichkeiten von DataSource Objekten in Zusammenhang mit der GridView einlesen.
Wenn du aus der Datenbank ließt, könntest du das ganze über eine SQL Datasource machen.
Über Google findest du sicher auch genug Beispiele wie du damit umgehen kannst und deine Probleme damit lösen kannst.
Edit (zu früh abgesendet):
Wenn du in der GridView eigene Spalten hinzufügen willst, kannst du das z.B. über ein BoundField lösen wo du in einem ItemTemplate eine Checkbox einfügst. Die Spalten kannst du über das Column Property in der GridView nach belieben aufbauen.
Hier ein Beispiel
Hallo,
Wo führst du die Anwendung denn aus? Im IIS oder im Development Server?
Es scheint ein Problem mit dem Benutzer zu geben...
Hast du in der web.config folgenden Eintrag?
<anonymousIdentification enabled="true"/>
Versuch einmal die anonymousIdentification auf true zu setzen und schau ob es dann funktioniert.
Kannst du bitte einmal deinen ConnectionString posten?
Wie sieht denn dein PageLoad Code aus?
Hast du eine Abfrage nach dem Postback drinnen?
Aus dem Bild geht hervor, dass du die GridView mit DataBinding befüllst. Auf welche DataSource gehst du denn da? Aktualisierst du die DataSource nachdem du das Update geschrieben hast?
Du kannst in deiner Gridview ein Itemtemplate einfügen.
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="Button1" Runat=Server OnClick="Button1_Click" />
</ItemTemplate>
</asp:TemplateField>
Ist dass das was du brauchst?
Du musst in der GridView die AutoGenerateColumns Eigenschaft auf False setzen.
Im Moment hast du automatisch generierte Spalten und die BoundFields die du gesetzt hast.
Lg
Hallo,
Baue deinen ConnectionString besser mit dem ConnectionStringBuilder.
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnectionstringbuilder.aspx
Hallo,
Ich beschäftige mich gerade mit der Modellierung in Visual Studio 2010.
Ich habe mir ein Klassendiagramm angelegt und wollte nun zu Testzwecken ein bisschen modellieren um mich an die Funktionen in Visual Studio zu gewöhnen.
Dabei ist mir aufgefallen, dass ich wenn ich eine Klasse erstelle bei den Stereotypen nicht auswählen kann, ob es sich bei der Klasse um einen Entity-, Controller- oder Boundaryklasse handelt.
Weiß jemand wie ich dieses Stereotyp in VS hinzufügen kann, oder geht das schlicht und ergreifend nicht?
Hallo,
Für Pluginfunktionalität bietet dir das MEF (Microsoft Extensibility Framework) eine gute Basis.
MSDN Artikel:
Managed Extensibility Framework Overview
Ein Beispiel über die Verwendung des MEF:
FileSystemWatcher mit MEF / Neue Plugins automatisch nachladen
Alternativ zum MEF gibt es auch noch folgende Vorgehensweise:
1.) Interface erstellen, von welchem die .dll's die du laden willst ableiten (einfachste Form einfach nur eine "PluginStart()" Methode.
2.) Die .dll's im Ordner über die integrierten Reflection Technologie des .NET Frameworks einlesen und prüfen ob sie das Interface ableiten.
3.) Die "PluginStart()" Methode der .dll Aufrufen.
Hallo,
Ich weiß nicht ob ich dich richtig verstehe...
Du hast dich als gerade in C# eingearbeitet und möchtest jetzt den Umgang mit Datenbanken üben?
Dann wäre wohl Microsoft SQL Express (kostenlos) etwas für dich:
http://www.microsoft.com/downloads/de-de/details.aspx?FamilyID=4c392a8f-9573-4802-9c93-90790b634761
Hierbei musst du jedoch eine Datenbank installieren. Ich erachte es aber als Sinnvoll dass du so anfängst den Umgang mit Datenbanken zu üben, da du von .NET Code aus schön und einfach auf SQL-Server Datenbanken zugreifen kannst. Das sollte dir das anfängliche Üben etwas erleichtern und du solltest relativ einfach den Umgang mit Datenbanken aus C# Code heraus lernen können.
Wenn du mal soweit bist, wirst du bestimmt selbst andere Lösungen für File-basierte Datenbanken finden.
Und du kannst ja den Connection-String für die Datenbank dann in die Web.Config oder App.Config auslagern und dann dort entsprechend ändern falls du Datenbank wechseln möchtest.
Ich hoffe das hilft dir weiter.
Alternativ zu Aptana kann ich dir auch noch WebStorn von Jetbrains empfehlen.
Visual Studio 2010 bietet dir für jQuery auch IntelliSense an
Servus,
Ja das ist ein Bug im Resharper...
Sollte mit Version 6.1 gefixt worden sein.
resharper not recognizing out type variable in method parameters
Lg
Hi,
Habe das gerade in unserem Code gefunden:
switch (p_EventTrigger)
{
case QObjectEvent.OnCreate:
case QObjectEvent.OnPrepareCommit:
case QObjectEvent.OnCommit:
{
if (property != null)
args = new QObjectEventArgs(p_EventTrigger, property);
else
args = new QObjectEventArgs(p_EventTrigger);
break;
}
case QObjectEvent.OnOpen:
case QObjectEvent.OnOk:
case QObjectEvent.OnCancel:
case QObjectEvent.OnPropertyChange:
{
args = new QGuiEventArgs(p_EventTrigger);
break;
}
}
Ich bin gerade am überlegen ob ich das umschreiben sollte oder nicht... 😉
Hallo,
Font Embedding kannst du in deiner BaseFont Klasse kannst du folgenden Aufruf machen:
myBaseFont.setSubset(true)
Dann werden die Fonts so optimiert, dass das PDF immer gelesen werden kann aber nicht bearbeitet werden kann.
Dadurch schrumpft natürlich die Filegröße.
Lg
Dragon
Wie oft sendest du von deinem Client bzw. Server den string denn weg? Oder was genau ist deine Frage?
Es wäre hilfreich wenn du eventuell deinen Code dazu posten würdest
Hallo,
Vielleicht kann mir einer von euch kurz weiterhelfen.
Ich habe ein Image das ich über einen URI einlesen und anschließend in einem Image Control in einer WPF Anwendung anzeige.
BitmapImage maklerimage = new BitmapImage(new Uri(maklerLogoPath));
//Image maklerImg = new Image();
//maklerImg.Source = maklerimage;
//dp_Logo.Children.Insert(0,maklerImg);
ImgMakler.Source = maklerimage;
Ich soll von diesem eingelesenen Image den Background Transparent machen. Dazu muss ich nur das Pixel auf der Stelle 0,0 nehmen und diese Farbe als Transparenz setzen. In der zugehörigen Webapplikation mache ich dies in einem ImageHandler folgendermaßen:
byte[] a_image = MaklerStateManager.CurrentElemQKernel.GetContent(a_logo);
MemoryStream ms = new MemoryStream(a_image);
Image logoimage = Image.FromStream(ms);
// We have to convert the Image to a Bitmap, so we can make the background Transparent
Bitmap logo = new Bitmap(logoimage);
if (ConfigurationManager.AppSettings["MaklerLogoTransperency"] == "On")
logo.MakeTransparent(logo.GetPixel(0, 0));
//set Content-Type (for Transparent Background images)
//always set Png
ImageInfo a_imageInfo = new ImageInfo(logo);
ContentType = System.Drawing.Imaging.ImageFormat.Png;
return a_imageInfo;
Ich weiß allerdings nicht so ganz genau wie ich dieses Vorgehen in WPF umsetzen kann, da ich keinen Image-Typen finde bei dem ich den Background Transparent machen kann und den ich anschließend an die Source des Image-Controls binden kann.
Super, danke !!!
Damit funktioniert das ganze auch schon 😉.
Dann gleich zur nächsten Frage: Kennt jemand von euch vielleicht einen guten grafischen Editor indem man das Layout für FO Dokumente designen kann?
Ich kenne FO nicht, deshalb kann ich dazu nichts sagen, aber was auf jeden Fall geht: Teile einfach dein Dokument in 2 auf.
Das hätte ich mir auch schon gedacht. Das Problem ist nur, dass ich dann auch den Code Ändern müsste indem ich das XSL:FO überhaupt einlese und da das System schon Produktiv ist, anschließend HotFixen müsste.
Wenn ich nur das FO ändere, kann ich es einfach als Ressource austauschen und gut ist es.
Aber ich glaube über <fo:block id="intern" /> bin ich dem ganzen schon auf der spur da ich mir das so in blöce aufteilen kann. Jetzt muss ich noch nur sehen, wie ich dann einen 2ten Bereich in einem Dokument wieder mit Seitenzahl 1 beginnen lasse 😉
Hallo Leute,
Weiß jemand von euch, wie ich in FO.NET eine Seitennummerierung für Bereiche erstellen kann?
In meiner Applikation, müssen Verträge generiert werden mit etwa 15 Seiten. Die Gesamtseitenanzahl ist abhängig, was der User für Daten über sich preisgibt.
Nun gibt es einen Bereich, der dem Kunden mitgegeben wird und eine Teil der Intern im Unternehmen verbleibt.
Also z.B.
Seite 1 - 12 bekommt der Kunde
Seite 13 - 15 bleibt intern im Unternehmen
Jetzt müsste ich in FO Bereiche definieren, dass im ersten Bereich Seite 1 - 12 nummeriert wird und im 2ten Bereich dann wieder bei 1 bis 3 angefangen wird für den internen Gebrauch.
Kann mir da jemand helfen?
Lg
Hi Leute,
Ich versuche gerade eine Webseite zu redesignen. Ich möchte gerne DotNetNuke als CMS einsetzen.
Ich hab die Seite jetzt als HTML und CSS gestaltet.
Jetzt weiß ich nur noch nicht so ganz, wie ich dieses HTML zu validen Skins für DotNetNuke umbauen kann.
Hat da jemand vielleicht einen Link mit guten Infos? Hab auf Google gesucht und nicht wirklich befriedigende Ergebnisse gefunden.
Lg
Hallo,
Ich arbeite gerade an einem Projekt, bei welchem ich mir meine Daten aus einem SQL Server 2005 aus dem Entity Framework hole.
Jetzt möchte ich auf einer Seite (Kassabuch) gerne Daten aus meiner Transaktionstablle gerne in einer GridView ausgeben.
Ich habe mir eine EntitySource erstellt und diese auf die GridView gemappt.
Jetzt habe ich aber eine TransaktionsKategorie und einen Transaktionstyp. Diese Verweisen auf die entsprechenden Tabellen.
In meiner GridView werden allerdings die Guid's ausgegeben, die die Transaktionstabelle mit der Transaktionskategorie mappt.
Kann mir vielleicht jemand weiterhelfen wie ich dieses mapping konfigurieren kann?
Lg
Du kannst doch einfach eine klassische readonly variable erstellen aller:
public readonly int[] myArray = {0, 0, 0, 0};
Du kannst eine Schnittstelle nicht direkt instanzieren. Wieso willst du das den überhaupt tun?
Verwendest du VS 2010? Ich hatte dieses Problem früher auch ein paar mal. Nach einem Neustart von VS hat es allerdings immer wieder funktioniert.
Seitdem ich das SP 1 für VS 2010 installiert habe, hatte ich diesen Fehler meiner Erinnerung nach nicht mehr 😉.
Kannst du dir keinen Event bauen, der gefeuert wird, sobald der Thread fertig ist mit der Initialisierung?
@Coder007:
Und wie soll dann jemals ein neues Software Start-Up entstehen? Das können dann immer alteingesessene Seniorentwickler sein.
Man kann denke ich durchaus als Gruppe von Informatikstudenten ein StartUp gründen, nur muss man beachten, dass man dann entsprechend der Projekte die man parallel bearbeitet auch ein entsprechendes Projektmanagment hat.
Am besten ist es dann noch einen Senior Developer oder Architekten zu haben, der den "jungen" Leuten hilft sich in die richtige Richtung zu entwickeln.
Sich direkt nach dem Studium für die Selbstständigkeit zu entscheiden ist auch nicht weiter verwunderlich. Wenn man als Angestellter anfängt, ist man es schnell gewohnt am Monatsende ein fixes Gehalt zu bekommen. Mit der Zeit wird diese Sicherheit natürlich immer wichtiger (eigene Wohnung, Auto, Versicherung, usw.) und man ist weniger bereit den Schritt in die Selbständigkeit zu wagen.
Daher bin ich der Meinung, dass man nach dem Studium direkt ein eigenes Unternehmen eröffnen kann, wenn man entsprechend plant und sich Gedanken macht.
Ist das ein FileSystem oder FTP Projekt?
Sowas mussten wir einmal im Studium lösen. Ich meine mich zu erinnern, das es gerade bei mehrzeiligen Kommentaren eine schöne Lösung mit dem State-Pattern gegeben hat.
Den Code dazu hab ich jedoch leider nicht mehr. Aber ich denke wenn du dir ein State-Diagramm überlegst, sollte das ganze mit relativ wenig Aufwand zu lösen sein.
Hast du in deinem Solution Explorer bei dem Icons oben über der Solution auch auf Refresh geklickt nachdem du die Fotos kopiert hast?
Hallo,
Die Assembly hab ich so hinzugefügt:
<compilation>
<assemblies>
<add assembly="MySql.Data, Version=5.0.9.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>
</assemblies>
</compilation>
Die Fehlermedudng ist folgende:
Parserfehlermeldung: Die Datei oder Assembly "MySql.Data, Version=5.0.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden.
Hallo,
Ich entwickle im Moment ein kleines ASP.NET Projekt für einen Bekannten, indem ich in eine MySql Datenbank schreiben muss.
Also habe ich mir den mySQL Connector für .NET heruntergeladen und installiert. Ich habe mir die Assembly MySql.Data.dll in das bin Verzeichnis meines Projekts kopiert und diese anschließend Referenziert.
Wenn ich es bei mir lokal builde, funktioniert alles ohne Probleme.
Wenn ich es jedoch auf dem Server lade, bekomme ich den Fehler, dass er die Assembly nicht findet, obwohl sie im /Bin Verzeichnis der Applikation liegt.
Hat jemand von euch vielleicht Tipps für mich wie ich das beheben kann?
Lg
Gerade eben über dieses geniale Stück Code gestolpert:
QObject finanzierung = context.QKernelClient.GetObject(context.QPointer);
if (finanzierung != null)
{
}
Refresh(context);
Kannst du bitte den Code deines <form> Steuerelements posten, damit wir uns ansehen können, wie du zu dem Newsletter navigieren möchtest.
Lg
Was für eine Response bekommst du denn von dem Server den du aufrust?
Ja über einen HTTP Listener kannst du über die Response Daten zurücksenden.
In dem MSDN Link von Blacal ist Beispielcode, wo unter anderem über eine Response geantwortet wird.
Lg
Für diesen Zweck kannst du auch mit dem Präprozessor arbeiten.
Bei den Codestellen bei denen du abprüfen willst ob du im DEBUG Modus bist, kannst du auch einfach
#if DEBUG
...
#endif
schreiben. Der Code innerhalb dieser Direktive wird dann nur ausgeführt wenn du im Debug Modus bist. Dann brauchst du den Settingseintrag nicht mehr.
Lg
Hallo,
Wisst ihr wie ich auf einem Team Foundation Server einstellen kann, das er mir jede Nacht die letze Version holt und diese automatisch kompiliert?
Geht das nur über ein MSBuild Skript oder gibt es da schönere Alternativen dazu?
Lg
Hallo,
Wie bekomme ich jetzt aus dem alten Thread das ganze in den neuen?
Was genau meinst du denn mit aus dem alten in den neuen bekommen?
Wenn du meinst wie du Daten übergeben kannst, ist die einfachste Möglichkeit diese über eine Lambda Expression zu übergeben. Das machst du so:
static void Main()
{
Thread t = new Thread ( () => Print ("Hello from t!") );
t.Start();
}
static void Print (string message)
{
Console.WriteLine (message);
}