hi, (sry for my english..) i read the complete "Windows Phone Mango Local Database:
http://www.geekchamp.com/articles/windows-phone-mango-local-database-mapping-and-database-operations" articel but my proplem dont solved.
i draw a picture to show what i want to programm but i dont find the funktion to upload . ok i want a 1:x conetion of events to dates but i can only shop x:x in the listbox by doppel clicking.
how this example :)
[code]
the main table 1
namespace Spielleiter_App_03
{
[Table]
public class Tabelle_Veranstaltung
{
private EntitySet<Tabelle_Termin> Tabelle_Termin_Ref;
public Tabelle_Veranstaltung()
{
this.Tabelle_Termin_Ref = new EntitySet<Tabelle_Termin>(this.On_Tabelle_Termin_Added, this.On_Tabelle_Termin_Removed);
}
private void On_Tabelle_Termin_Added(Tabelle_Termin tabelle_Termin)
{
tabelle_Termin.Tabelle_Veranstaltung = this;
}
private void On_Tabelle_Termin_Removed(Tabelle_Termin tabelle_Termin)
{
tabelle_Termin.Tabelle_Veranstaltung = null;
}
[Column(IsPrimaryKey = true, IsDbGenerated = true)]
public int Id
{
get;
set;
}
[Column(CanBeNull = true)]
public string Extra
{
get;
set;
}
[Column(CanBeNull = true)]
public string Name
{
get;
set;
}
[Column(CanBeNull = true)]
public string Typ
{
get;
set;
}
[Association(Name = "Veranstaltung_Termin", Storage = "Tabelle_Termin_Ref", ThisKey = "Id", OtherKey = "veranstaltungID")]
public EntitySet<Tabelle_Termin> termin
{
get
{
return this.Tabelle_Termin_Ref;
}
}
}
}
---------------------------------------------
the to x table
namespace Spielleiter_App_03
{
[Table]
public class Tabelle_Termin
{
private Nullable<int> VeranstaltungID;
private EntityRef<Tabelle_Veranstaltung> tabelle_VeranstaltungRef = new EntityRef<Tabelle_Veranstaltung>();
[Column(IsPrimaryKey = true, IsDbGenerated = true)]
public int Termin_ID
{
get;
set;
}
[Column(CanBeNull = true)]
public string Ort
{
get;
set;
}
[Column(CanBeNull = true)]
public string Datum
{
get;
set;
}
[Column(CanBeNull = true)]
public string Extra
{
get;
set;
}
[Column(CanBeNull = true)]
public string Uhrzeit
{
get;
set;
}
[Column(Storage = "VeranstaltungID", DbType = "Int")]
public int? veranstaltungID
{
get
{
return this.VeranstaltungID;
}
set
{
this.VeranstaltungID = value;
}
}
[Association(Name = "Veranstaltung_Termin", Storage = "tabelle_VeranstaltungRef", ThisKey = "veranstaltungID", OtherKey = "Id", IsForeignKey = true)]
public Tabelle_Veranstaltung Tabelle_Veranstaltung
{
get
{
return this.tabelle_VeranstaltungRef.Entity;
}
set
{
Tabelle_Veranstaltung previousValue = this.tabelle_VeranstaltungRef.Entity;
if (((previousValue != value) || (this.tabelle_VeranstaltungRef.HasLoadedOrAssignedValue == false)))
{
if ((previousValue != null))
{
this.tabelle_VeranstaltungRef.Entity = null;
previousValue.termin.Remove(this);
}
this.tabelle_VeranstaltungRef.Entity = value;
if ((value != null))
{
value.termin.Add(this);
this.VeranstaltungID = value.Id;
}
else
{
this.VeranstaltungID = default(Nullable<int>);
}
}
}
}
}
}
---------------------------
the get class
namespace Spielleiter_App_03
{
public class Hauptklasse : DataContext
{
public Hauptklasse(string connectionString) : base(connectionString)
{
}
public Table<Tabelle_Veranstaltung> Veranstaltungen_H
{
get
{
return this.GetTable<Tabelle_Veranstaltung>();
}
}
public Table<Tabelle_Termin> Termin_H
{
get
{
return this.GetTable<Tabelle_Termin>();
}
}
}
}
-------------------------------------
namespace Spielleiter_App_03
{
public partial class Erstellen_Uebersicht : PhoneApplicationPage
{
private const string strConnectionString = @"isostore:/StudentDB.sdf";
public string a;
public Erstellen_Uebersicht()
{
InitializeComponent();
using (Hauptklasse Empd = new Hauptklasse(strConnectionString))
{
if (!Empd.DatabaseExists())
{
Empd.CreateDatabase();
}
}
using (Hauptklasse Empd = new Hauptklasse(strConnectionString))
{
var a = from b in Empd.GetTable<Tabelle_Veranstaltung>() select b.Extra;
List<Tabelle_Veranstaltung> dataSource = new List<Tabelle_Veranstaltung>();
foreach (var x in a)
{
dataSource.Add(new Tabelle_Veranstaltung() { Extra = x });
}
this.listBox1.ItemsSource = dataSource;
listBox1.DisplayMemberPath = "Extra";
}
}
private void myButton_Einmalige_Veranstaltung_Erstellen_Click(object sender, RoutedEventArgs e)
{
this.NavigationService.Navigate(new Uri("/Erstellen_Button_Einmalige_Veranstaltung.xaml", UriKind.Relative));
}
private void button1_Click(object sender, RoutedEventArgs e)
{
}
private void listBox1_Loaded(object sender, System.Windows.RoutedEventArgs e)
{}
private void listBox1_Tap(object sender, GestureEventArgs e)
{
}
private void listBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{}
private void listBox1_DoubleTap(object sender, GestureEventArgs e)
{
var listBoxItem = listBox1.ItemContainerGenerator.ContainerFromIndex(listBox1.SelectedIndex) as ListBoxItem;
NavigationService.Navigate(new Uri(string.Format("/Erstellen_Uebersicht_Auswahl_Einmalige_Veranstaltung.xaml?parameter={0}",listBoxItem.ToString(),"edit"), UriKind.Relative));
}
}
}
------------------------------------
the event greater site
namespace Spielleiter_App_03
{
public partial class Erstellen_Button_Einmalige_Veranstaltung : PhoneApplicationPage
{
private const string strConnectionString = @"isostore:/StudentDB.sdf";
public Erstellen_Button_Einmalige_Veranstaltung()
{
InitializeComponent();
using (Hauptklasse context = new Hauptklasse(strConnectionString))
{
if (!context.DatabaseExists())
{
context.CreateDatabase();
}
}
}
private void myButton_erstellen_Click(object sender, RoutedEventArgs e)
{
using (Hauptklasse Empd = new Hauptklasse(strConnectionString))
{
Tabelle_Veranstaltung newVeranstaltung = new Tabelle_Veranstaltung
{
Extra = myTextBox_Name.Text.ToString() + " - " + " einmalige Veranstaltung ",
Name = myTextBox_Name.Text.ToString(),
};
Empd.Veranstaltungen_H.InsertOnSubmit(newVeranstaltung);
Empd.SubmitChanges();
}
this.NavigationService.Navigate(new Uri("/Erstellen_Uebersicht.xaml", UriKind.Relative));
}
}
}
-------------------------------------------
the site if you dopple click of the event in the listbox
namespace Spielleiter_App_03
{
public partial class Erstellen_Uebersicht_Auswahl_Einmalige_Veranstaltung : PhoneApplicationPage
{
private const string strConnectionString = @"isostore:/StudentDB.sdf";
public Erstellen_Uebersicht_Auswahl_Einmalige_Veranstaltung()
{
InitializeComponent();
using (Hauptklasse Empd = new Hauptklasse(strConnectionString))
{
if (!Empd.DatabaseExists())
{
Empd.CreateDatabase();
}
}
using (Hauptklasse Empd = new Hauptklasse(strConnectionString))
{
var a = from b in Empd.GetTable<Tabelle_Termin>() select b.Extra;
List<Tabelle_Termin> dataSource = new List<Tabelle_Termin>();
foreach (var x in a)
{
dataSource.Add(new Tabelle_Termin() { Extra = x });
}
this.myListBox.ItemsSource = dataSource;
myListBox.DisplayMemberPath = "Extra";
}
}
private void myButton_Click(object sender, RoutedEventArgs e)
{
this.NavigationService.Navigate(new Uri("/Erstellen_Uebersicht_Auswahl_Button_Termin_hinzu_Einmalige_Veranstaltung.xaml", UriKind.Relative));
}
}
}
---------------------------
great a x date for your event
if you want the namespace Spielleiter_App_03
{
public partial class Erstellen_Uebersicht_Auswahl_Button_Termin_hinzu_Einmalige_Veranstaltung : PhoneApplicationPage
{
private const string strConnectionString = @"isostore:/StudentDB.sdf";
public Erstellen_Uebersicht_Auswahl_Button_Termin_hinzu_Einmalige_Veranstaltung()
{
InitializeComponent();
using (Hauptklasse context = new Hauptklasse(strConnectionString))
{
if (!context.DatabaseExists())
{
context.CreateDatabase();
}
}
}
private void myButton_Erstellen_Click(object sender, RoutedEventArgs e)
{
using (Hauptklasse Empd = new Hauptklasse(strConnectionString))
{
Tabelle_Termin newTermin = new Tabelle_Termin
{ Extra = mytextBox_Ort.Text.ToString() + " " + mytextBox_Datum.Text.ToString() + " " + mytextBox_Uhrzeit.Text.ToString(),
Ort = mytextBox_Ort.Text.ToString(),
Datum = mytextBox_Datum.Text.ToString(),
Uhrzeit = mytextBox_Uhrzeit.Text.ToString(),
};
Empd.Termin_H.InsertOnSubmit(newTermin);
Empd.SubmitChanges();
this.NavigationService.Navigate(new Uri("/Erstellen_Uebersicht_Auswahl_Einmalige_Veranstaltung.xaml", UriKind.Relative));
}
}
}
}
big thanks to ever help