varlık nesne İEntityChangeTracker birden çok örneği tarafından başvurulan olamaz. Varlık Çerçevesi 4.1 varlık ile ilgili nesneleri eklerken
Şehir referanslara sahip olan Çalışan ayrıntıları, kurtarmaya çalışıyorum. Ama her istisna olsun doğrulanmış olan bağlantım, kurtarmaya çalışıyorum"ADO.Net Varlık varlık, Bir nesne olamaz İEntityChangeTracker birden çok örneği tarafından başvurulan Çerçeve"
Hala ne yapacağını tam olarak fikir almıyorum ama o kadar çok yazı okumuştum... Kaydet düğmesini tıklayın benim kod aşağıda verilmiştir
protected void Button1_Click(object sender, EventArgs e)
{
EmployeeService es = new EmployeeService();
CityService cs = new CityService();
DateTime dt = new DateTime(2008, 12, 12);
Payroll.Entities.Employee e1 = new Payroll.Entities.Employee();
Payroll.Entities.City city1 = cs.SelectCity(Convert.ToInt64(cmbCity.SelectedItem.Value));
e1.Name = "Archana";
e1.Title = "aaaa";
e1.BirthDate = dt;
e1.Gender = "F";
e1.HireDate = dt;
e1.MaritalStatus = "M";
e1.City = city1;
es.AddEmpoyee(e1,city1);
}
veEmployeeservice Kodu
public string AddEmpoyee(Payroll.Entities.Employee e1, Payroll.Entities.City c1)
{
Payroll_DAO1 payrollDAO = new Payroll_DAO1();
payrollDAO.AddToEmployee(e1); //Here I am getting Error..
payrollDAO.SaveChanges();
return "SUCCESS";
}
CEVAP
Çünkü bu iki satır ...
EmployeeService es = new EmployeeService();
CityService cs = new CityService();
... yapıcı bir parametre yok, sınıflar içinde bir bağlam oluşturmak sanırım. Sen 8 *...* yük
Payroll.Entities.City city1 = cs.SelectCity(...);
...CityService
bağlama city1
iliştirin. Daha sonraEmployee
e1
yeni bir referans olarak city1
Ekle e1
ekleyincity1
bu başvuru da dahil olmak üzereEmployeeService
bağlama. Sonuç olarak city1
özel durum hakkında şikayetçi olan iki farklı bağlam bağlı.
Hizmet sınıfları ve her iki hizmette enjekte kullanma dışında bir bağlam oluşturarak çözebilirsiniz
EmployeeService es = new EmployeeService(context);
CityService cs = new CityService(context); // same context instance
Servis sınıflar sadece tek bir varlık türü için sorumlu depoları benziyorsun. Böyle bir durumda her zaman hizmet için ayrı bağlamlarda kullandığınızda sorun varlıklar arasındaki ilişkiler söz konusu en kısa sürede sahip olacaksınız.
Sen-ebilmek da yaratmak bir tek hizmet olan sorumlu bir dizi yakından ilişkili kuruluşlarla gibi bir EmployeeCityService
(tek içerik) ve temsilci tüm işlemle Button1_Click
yöntemi için bir yöntem bu hizmeti.
Hazırda Beklet - Çağlayan ile Bir kole...
Nasıl SQL varlık çerçevesi tarafından ...
Varlık Çerçevesi: zaten açık bir veri ...
Nasıl Varlık Çerçevesi (dosyalarda gru...
Varlık Çerçevesi Özellikleri Birden ço...