Meine Personen Klasse hinzufügen:Rahmen Entity kann nicht mit Singletons
public class User
{
public int Id { get; private set; }
public string Isim { get; set; }
public string Soyad { get; set; }
public User(string isim, string soyad)
{
Isim = isim;
Soyad = soyad;
}
}
Meine UserBusiness Klasse:
public sealed class UserBusiness
{
JuqueryDbEntities entity = new JuqueryDbEntities();
private static volatile UserBusiness instance;
private static readonly object syncRoot = new Object();
private UserBusiness() { }
public static UserBusiness Instance
{
get
{
if (instance == null)
{
lock (syncRoot)
{
if (instance == null)
instance = new UserBusiness();
}
}
return instance;
}
}
public void AddUser(User userToAdd)
{
entity.PersonelTable.Add(userToAdd);
entity.SaveChanges();
}
}
Und schließlich Onclick meine webform Code-Behind eines Login-Button:
protected void Button1_Click(object sender, EventArgs e)
{
string isim = TextBox1.Text;
string soyad = TextBox2.Text;
var newUser = new User(isim, soyad);
UserBusiness.Instance.AddUser(newUser);
}
Hier ist mein Problem: Ich erhalte einen Fehler in der AddUser-Methode meiner UserBusiness-Klasse. Ein Fehler in 'entity.PersonelTable.Add (newUser);' Zeile sagt 'Die beste Überladungsmethode für' System.Data.Entity.DbSet.Add (SuperQquery.PersonelTable) 'hat einige ungültige Argumente.' Was mache ich falsch (Btw meine ID ist Autoincrement, so dass ich es keinen Wert einstellen.)
Es sieht so aus, als ob die Methode 'AddUser()' kein Argument vom Typ User akzeptiert. Hast du überprüft, was die Argumente sind? –
Ich habe es debugged und 'userToAdd' Obhect enthält genau eingegebene Werte, so sollte es kein Problem geben, aber ich bekomme diesen Fehler @ BarryO'Kane –
'userToAdd' ist nicht das Problem. Bewegen Sie den Mauszeiger über die Schaltfläche "Hinzufügen" in der Zeile "entity.PersonelTable.Add (userToAdd)" in der Klasse "UserBusiness", und Sie sollten den Typ der Methode sehen. Ich vermute, dass es nicht "User" ist. –