ido435
Gebruiker
- Lid geworden
- 10 nov 2010
- Berichten
- 674
Hallo,
ik zit met een probleem in mijn code om een query uit de database te halen.
Deze error krijg ik:
Error CS1061 'object' does not contain a definition for 'SingleOrDefault' and no extension method 'SingleOrDefault' accepting a first argument of type 'object' could be found (are you missing a using directive or an assembly reference?) klassen app C:\Users\Student\Desktop\oude klassenapp\klassen app\Form1.cs 60 Active
mijn code loop op dit stukje vast:
en dit is de code (ik weet dat de code niet 100% duidelijk is)
deze class gebruik ik nu alleen maar om de connectie te maken met de database
zo ziet de database er uit
![Database.PNG Database.PNG](https://www.helpmij.nl/forum/data/attachments/129/129201-71231d7ccf7247138a6124dddea0f981.jpg)
bijvoorbaad dank
ido
ik zit met een probleem in mijn code om een query uit de database te halen.
Deze error krijg ik:
Error CS1061 'object' does not contain a definition for 'SingleOrDefault' and no extension method 'SingleOrDefault' accepting a first argument of type 'object' could be found (are you missing a using directive or an assembly reference?) klassen app C:\Users\Student\Desktop\oude klassenapp\klassen app\Form1.cs 60 Active
mijn code loop op dit stukje vast:
Code:
Resultaat restultaat = dbc.Resultaaten().SingleOrDefault(C => C.Crebo == textBox12.Text);
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace klassen_app
{
public partial class Form1 : Form
{
EntityVoorbeeld dbc = new EntityVoorbeeld();
public Form1()
{
InitializeComponent();
//dbc.VakToegevoegd += dbc_VakToegevoegd;
Student leerling = new Student();
Lesgroep lesgroep = new Lesgroep();
Resultaat resultaat = new Resultaat();
}
void dbc_VakToegevoegd(object sender, EventArgs e)
{
Refresh_list_leerlingen();
}
string studentnr = "";
string klas = "";
string jaar = "";
public string naam = "";
private void button1_Click(object sender, EventArgs e)
{
//sql connection for personal data
Student deze = dbc.Studenten().SingleOrDefault(C => C.Roepnaam == textBox1.Text);
//int crebo = deze.Lesgroep.Last().Opleiding.Crebo;
//personal data
if (deze != null)
{
textBox3.Text = deze.Roepnaam;
textBox13.Text = deze.Roepnaam;
textBox4.Text = deze.voegsel;
textBox5.Text = deze.Achternaam;
textBox6.Text = deze.Geboortedatum.ToString();
textBox7.Text = deze.Adres;
textBox8.Text = deze.Postcode;
textBox9.Text = deze.Woonplaats;
textBox10.Text = deze.Email;
textBox11.Text = deze.Telefoon;
textBox12.Text = deze.Mobiel;
textBox12.Text = deze.StudentCode;
textBox17.Text = deze.StudentCode;
// string for search about studendcode
studentnr = deze.StudentCode;
Resultaat restultaat = dbc.Resultaaten().SingleOrDefault(C => C.Crebo == textBox12.Text);
if (deze != null)
{
}
var crebo = textBox15.Text;
Lesgroep lesgroep = dbc.Lesgroepen().OrderByDescending(L => L.Schooljaar).FirstOrDefault(L => L.Crebo == crebo);
if (lesgroep != null)
{
textBox14.Text = lesgroep.Leerjaar.ToString();
textBox15.Text = lesgroep.Naam;
textBox16.Text = lesgroep.Schooljaar.ToString();
textBox23.Text = lesgroep.Mentor ;
}
//opleiding eisen crebo
/* Opleiding opleiding = dbc.Opleidingen().SingleOrDefault(L => L. == /* variable control );
if (opleiding != null)
{
//textBox18.Text =
} */
}
}
void vb_StudentToegevoegd(object sender, EventArgs e)
{
Refresh_list_leerlingen();
}
private void Refresh_list_leerlingen()
{
Lesgroep lesgroep = this.achternaam.SelectedItem as Lesgroep;
this.listBox1.DataSource = new BindingSource { DataSource = dbc.Studenten(lesgroep) };
this.listBox1.DisplayMember = "Achternaam";
}
private void button5_Click(object sender, EventArgs e)
{
dbc.SaveChanges();
}
private void button2_Click(object sender, EventArgs e)
{
Student deze = dbc.Studenten().SingleOrDefault(C => C.Roepnaam == textBox1.Text);
deze.Roepnaam = textBox3.Text.ToString();
deze.voegsel = textBox4.Text.ToString();
deze.Achternaam = textBox5.Text.ToString();
//deze.Geboortedatum = Convert.ToInt32(textBox6.Text)();
deze.Adres = textBox7.Text.ToString();
deze.Postcode = textBox8.Text.ToString();
deze.Woonplaats= textBox9.Text.ToString();
deze.Email = textBox10.Text.ToString();
deze.Mobiel = textBox11.Text.ToString();
dbc.SaveChanges();
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}
deze class gebruik ik nu alleen maar om de connectie te maken met de database
Code:
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Data.Entity.Validation;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace klassen_app
{
public class EntityVoorbeeld
{
CijferDBEntities1 ce = new CijferDBEntities1();
/// <summary>
/// Algemene lijst van alle beschikbare lesgroepen
/// </summary>
/// <returns>ObservableCollection van alle groepen</returns>
public ObservableCollection<Lesgroep> Lesgroepen()
{
return new ObservableCollection<Lesgroep>(ce.Lesgroepen);
}
/// <summary>
/// Algemene lijst van lesgroepen per schooljaar
/// </summary>
/// <param name="schooljaar">Het schooljaar in de vorm van '1516' '1617' etc</param>
/// <returns>ObservableCollection van alle groepen van het opgegeven schooljaar</returns>
public ObservableCollection<Lesgroep> Lesgroepen(string schooljaar)
{
return new ObservableCollection<Lesgroep>(ce.Lesgroepen.Where(g => g.Schooljaar == schooljaar));
}
/// <summary>
/// Algemene lijst van Studenten bij een opgegeven lesgroep
/// </summary>
/// <param name="groep">De groep waarvan de studenten worden gevraagd</param>
/// <returns>ObservableCollection Studenten</returns>
public ObservableCollection<Student> Studenten(Lesgroep groep)
{
return new ObservableCollection<Student>(groep.Student.OrderBy(s => s.Achternaam).ThenBy(s => s.Roepnaam));
}
/// <summary>
/// Oproepen van Studenten
/// </summary>
/// <returns></returns>
public ObservableCollection<Student> Studenten()
{
return new ObservableCollection<Student>(ce.Studenten.OrderBy(s => s.Achternaam).ThenBy(s => s.Roepnaam));
}
internal object Resultaaten()
{
throw new NotImplementedException();
}
/// <summary>
/// Algemene lijst van Studenten bij een opgegeven groepsnaam en schooljaar
/// </summary>
/// <param name="klas">De naam van de lesgroep</param>
/// <param name="schooljaar">Het schooljaar van de groep</param>
/// <returns>ObservableCollection Studenten</returns>
public ObservableCollection<Student> Studenten(string klas, string schooljaar)
{
Lesgroep groep = ce.Lesgroepen.SingleOrDefault(g => g.Naam == klas && g.Schooljaar == schooljaar);
return new ObservableCollection<Student>(groep.Student.OrderBy(s => s.Achternaam).ThenBy(s => s.Roepnaam));
}
/// <summary>
/// Voorbeeld van een verpakking van het EntityFramework in de datalaag (DataModel)
/// </summary>
public EntityVoorbeeld()
{
}
/// <summary>
/// Algemene lijst van Studenten bij een opgegeven lesgroep
/// </summary>
/// <param name="groep">De groep waarvan de studenten worden gevraagd</param>
/// <returns>ObservableCollection Studenten</returns>
public ObservableCollection<Resultaat> Resultaaten(Lesgroep cijfers)
{
return new ObservableCollection<Resultaat>(ce.Resultaaten.OrderBy(v => v.Vak));
}
/// <summary>
/// Methode om student in de database te stoppen
/// </summary>
/// <param name="student">Eeen object van Type Student, ingevuld</param>
/// <returns>True as gelukt, false als mislukt</returns>
public Boolean AddCijfer(Resultaat r)
{
ce.Resultaaten.Add(r);
if (!SaveChanges())
{
return false;
}
RaiseVakToegevoegd();
return true;
}
public event EventHandler VakToegevoegd;
private void RaiseVakToegevoegd()
{
if (VakToegevoegd != null)
{
VakToegevoegd(this, EventArgs.Empty);
}
}
/// <summary>
/// Functie die zorgt voor het opslaan van alle wijzigingen in de database
/// </summary>
/// <returns>True/False. Indien false dan is Error gevuld met de foutcode</returns>
public bool SaveChanges()
{
try
{
ce.SaveChanges();
}
catch (DbEntityValidationException dbex)
{
StringBuilder sb = new StringBuilder();
foreach (var error in dbex.EntityValidationErrors)
{
foreach (var item in error.ValidationErrors)
{
sb.AppendLine(item.ErrorMessage);
}
}
Error = sb.ToString();
return false;
}
catch (Exception ex)
{
StringBuilder sb = new StringBuilder();
sb.AppendLine(ex.Message);
Exception source = ex.InnerException;
while (source != null)
{
sb.AppendLine(source.Message);
source = source.InnerException;
}
Error = sb.ToString();
return false;
}
Error = string.Empty;
return true;
}
/// <summary>
/// De eventuele foutcode van het opslaan van de wijzigingen
/// </summary>
public string Error { get; set; }
}
}
![Database.PNG Database.PNG](https://www.helpmij.nl/forum/data/attachments/129/129201-71231d7ccf7247138a6124dddea0f981.jpg)
bijvoorbaad dank
ido
Laatst bewerkt: